首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用JsonPath读取嵌套数组属性

使用JsonPath读取嵌套数组属性
EN

Stack Overflow用户
提问于 2020-10-15 21:20:46
回答 1查看 70关注 0票数 0
代码语言:javascript
运行
复制
[
  {
    "path": "test",
    "resources": [
      {
        "name": "testfile"
      }
    ]
  },
  {
    "path": "test-1",
    "resources": [
      {
        "name": "testfile-1"
      }
    ]
  }
]

给定一个类似于上面的json,是否可以使用jsonPath以以下格式读取它?

代码语言:javascript
运行
复制
[
  {
    "path": "test",
    "name": "testfile"
  },
  {
    "path": "test-1",
    "name": "testfile-1"
  }
]

可以放心地假设资源数组大小始终为1。

我尝试了$.[*]['path', ['resources'][0]['name']],但它没有显示路径的值。

EN

回答 1

Stack Overflow用户

发布于 2020-10-22 10:20:11

正如前面提到的,这不能用JSONPath完成;从不同级别选择项并将它们重新组合成新的数组元素是行不通的,您需要一个像Jolt这样的JSON转换器。

有不同的方法,但您可以使用如下所示的shift转换器来获得所需的输出:

代码语言:javascript
运行
复制
[
  {
    "operation": "shift",
    "spec": {
      "*": {
        // Grab the value of clientName, and write it to
        //  bookMap. whatever is at clientId
        "@path": "[&].path",
        "@resources[0].name": "[&].name"
      }
    }
  }
]

使用您自己的输入here在线试用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64372483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档