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

使用Jolt转换对象数组:Hobbies数组转换失败求助

解决JSON转换中Hobbies数组的提取问题

要完成从input.json到output.json的转换,针对Hobbies数组提取名称的需求,以下是具体实现方案:

用JQ工具实现(推荐)

直接运行以下JQ命令即可完成完整转换:

jq '.users[] | {
  "Name": .name,
  "Address": "\(.address.street), \(.address.city), \(.address.state) \(.address.zip)",
  "Hobbies": [.hobbies[].name]
}' input.json > output.json

其中Hobbies字段的处理逻辑是:[.hobbies[].name]遍历每个用户的hobbies数组,提取每个对象的name属性,最终组合成字符串数组。

用JSONata表达式实现

如果使用JSONata工具,对应的转换表达式为:

users.{
  "Name": name,
  "Address": address.street & ", " & address.city & ", " & address.state & " " & address.zip,
  "Hobbies": hobbies.name
}

JSONata会自动识别hobbies.name为提取数组中所有对象的name字段,直接生成目标格式的数组。

你之前尝试的$或@通配符没生效,大概率是通配符的作用范围不对——需要明确遍历hobbies数组内的每个元素,再提取对应的name字段,而不是直接修改索引名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 20:22:16