如何通过 Jayway JsonPath 展平带有嵌套列表的 json?

2024-01-06

目前我需要根据配置处理一些 json 结果,而不是硬代码。

例如,json如下

{
    data: [{
        orderNo: "CG8310150",
        details: [{
            skuId: 4384,
            amount: 2
        }, {
            skuId: 4632,
            amount: 5
        }]
    }, {
        orderNo: "CG8310151",
        details: [{
            skuId: 4384,
            amount: 3
        }]
    }]
}

我想要的结果如下

[{
    orderNo: "CG8310150",
    skuId: 4384,
    amount: 2
}, {
    orderNo: "CG8310150",
    skuId: 4632,
    amount: 5
}, {
    orderNo: "CG8310151",
    skuId: 4384,
    amount: 3
}]

如果有人有 Jayway JsonPath 的解决方案,或者有任何其他工具的建议,请告诉我。

感谢您的帮助!


您可以使用 JsonPath 投影该 JSON 的结果。例如:

  • $['data'][*]['orderNo']返回:

    ["CG8310150","CG8310151"]
    
  • $['data'][*]['details'][*]['skuId', 'amount']返回:

    [{"skuId":4384,"amount":2},{"skuId":4632,"amount":5},{"skuId":4384,"amount":3}]
    

但你不能combine这两个表达式都通过 JsonPath 一次传递,因此您无法使用 JsonPath 返回目标输出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 Jayway JsonPath 展平带有嵌套列表的 json? 的相关文章

随机推荐

  • 如何在此父方法中等待异步方法而不使用异步修饰符?

    我有一个想要等待的方法 但我不想引起多米诺骨牌效应 认为任何东西都可以调用这个调用方法并等待它 例如我有这样的方法 public bool Save string data int rowsAffected await UpdateData
  • 在 Visual Studio Code 中添加断点

    我一定是做了一些愚蠢的错误 因为我似乎无法在 Visual Studio Code 中添加断点 当我右键单击我的代码时 会弹出以下内容 在行号旁边左键单击也不起作用 我已阅读此处的文档https code visualstudio com
  • Android 屏幕方向,晃动手机导致应用程序崩溃

    我有搜索应用程序 它加载从网络服务检索的数据 创建应用程序时 它会显示进度对话框 一旦完成加载数据 它就会关闭进度对话框 问题是在加载时 如果我改变手机的方向 它工作正常 它会尝试再次加载活动 但如果我在加载数据时开始摇动手机 应用程序就会
  • 动画 UIStackView 排列子视图内容大小变化

    当其内在内容大小发生变化时 是否可以对排列的子视图进行动画处理 例如 假设我有一个已排列的子视图 其中包含固定到边缘的单个 UILabel 该标签有少量文字 新文本出现 比之前的文本大 标签的内在内容尺寸现在更大 我希望能够像这样制作动画
  • 位域的意外行为

    我编译了代码 include
  • 如何使用 Carrierwave 上传自定义 S3 元数据

    我想添加Content Disposition我使用 Carrierwave 上传的文件的标头 之后不能通过 URL 中的查询参数执行此操作 有什么我可以添加到的吗AttachmentUploader在上传文件之前 可以帮助我完成此任务的模
  • Android Studio:按钮始终出现在前面

    我有一个相对布局 我向其中添加视图 我向其中添加了一个按钮 该按钮始终显示在添加到其中的所有其他视图的前面 无论添加内容的顺序如何 怎么会 我纯粹使用 Java 编写代码 没有使用 XML 这是一个简单的示例 即使文本是最后添加的 按钮也会
  • Fabric crashlytics 新实施不起作用 |织物特性

    实施将apiSecret and apiKey in the fabric properties文件不再工作 织物属性文件 app fabric properties apiSecret xx68f6074dxxxxxc11dxxx97c1
  • Python 套接字在远程消耗所有数据之前关闭

    我正在编写一个 Python 模块 它通过 unix 套接字与 go 程序进行通信 客户端 python 模块 将数据写入套接字 服务器使用它们 Simplified version of the code used outputStrea
  • 如何将点击手势转换为 SwiftUI 地图视图中的坐标?

    我正在尝试添加一个MapAnnotation项目到我的Map 查看自MapKit 如果您在文本字段中手动添加坐标 则一切正常 但我找不到任何通过点击地图来添加坐标的方法 我在互联网上阅读了很多内容 但没有找到任何内容onTap 地图事件处理
  • 未定义错误:“current_user”未定义

    我有一个带有烧瓶的应用程序 以前可以使用 但现在我使用蓝图并尝试运行它 但出现错误 所以我想知道这就是 g user 不工作的蓝图问题 我该如何修复它 谢谢 应用程序 布局 init py from flask import Bluepri
  • Summernote div 更改时 Textarea 值发生变化

    我为 Summernote 设置了一个 div 来更改从数据库中提取的文本 div class form control div document ready function summernote summernote height 30
  • 如何在javascript中“重新启用”特殊字符序列?

    如果我有一个定义的字符串变量 例如 var testString not n new line 它的价值当然是not n new line 但如果直接使用 not n new line 测试字符串将包含新行 那么最简单的方法是什么测试字符串
  • 为什么我一定要揭开脆弱的自己?

    我创建了一个名为VerifyObject 其中包含具有类似签名的函数 typealias handlerCodeID String gt Void class func checkPause withID String runOnPause
  • 为什么嵌套的describe()块看不到外部块中定义的变量?

    我在实际代码中遇到了这个问题 但我整理了一个简单的例子来证明这一点 下面的代码工作正常 我在我的根目录中设置了一个变量describe 在我的子系统中可以访问的块describe s it blocks describe simple ob
  • Fortran SAVE 语句

    我读过有关save 英特尔 语言参考文档中的声明 但我不太明白它的作用 有人可以用简单的语言向我解释一下当save语句包含在模块中 原则上 当模块超出范围时 该模块的变量将变为未定义 除非使用 SAVE 属性声明它们 或者使用 SAVE 语
  • ViewPager2 上的 TransactionTooLargeException

    我看到了很多关于 ViewPager 的问题 但现在它已经上线了ViewPager2 我得到了一个java lang RuntimeException android os TransactionTooLargeException data
  • CKEditor - 使用数据处理器删除脚本标签

    我对 CKEditor 还很陌生 两天前开始使用它 而且我仍在与一些配置作斗争 例如从编辑器中删除标签 例如 如果用户在源模式下键入以下内容 我想将其删除 查看文档 我发现这可以使用 HTML 过滤器来完成 我这样定义了它 但它不起作用 v
  • 如何增加 JVM 内存? [复制]

    这个问题在这里已经有答案了 你好 我想知道我是否可以根据我的应用程序增加 JVM 内存 如果可以 我该如何增加 JVM 内存 我怎样才能知道 JVM 的大小 启动 JVM 时 可以调整两个参数以满足您的内存需求 Xms
  • 如何通过 Jayway JsonPath 展平带有嵌套列表的 json?

    目前我需要根据配置处理一些 json 结果 而不是硬代码 例如 json如下 data orderNo CG8310150 details skuId 4384 amount 2 skuId 4632 amount 5 orderNo CG