You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JSONPath从JSON数组中提取指定多个字段值?

可行的JSONPath解决方案:提取数组对象的key和cod字段

当然可以实现这个需求,你之前的表达式有两个问题:一是写错了目标字段(写了item而非cod),二是部分JSONPath实现对多字段选择的语法支持有差异。以下是几种可行方案:

方案1:支持多字段选择的JSONPath实现(如Jayway JsonPath)

使用如下表达式,直接指定要提取的两个字段:

$.array[*]['key', 'cod']

或者等价的简洁写法:

$.array[*][key,cod]

执行后会返回包含每个对象key和cod字段的数组:

[
  {"key": 1, "cod": 123},
  {"key": 2, "cod": 345},
  {"key": 3, "cod": 126}
]

方案2:自定义投影写法(适配更多高级JSONPath库)

如果上述写法不生效,可使用字段映射的投影语法(同样支持Jayway等库):

$.array[*].{key: key, cod: cod}

这个语法明确指定要生成的新对象结构,返回结果和方案1一致。

方案3:兼容基础JSONPath实现的方法

如果你的JSONPath工具不支持多字段选择,可分两次提取后再组合:

  • 提取所有key值:$.array[*].key,结果为 [1, 2, 3]
  • 提取所有cod值:$.array[*].cod,结果为 [123, 345, 126]
    之后将两个数组按索引对应,组合成包含key和cod的键值对结构即可。

内容的提问来源于stack exchange,提问作者Cesare

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 17:36:24