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

如何将任意JSON对象转换为键值对对象数组?

解决JOLT转换:将JSON对象转为key-value对象数组

我来帮你搞定这个JOLT转换的问题!你当前的spec之所以会把所有key和value都塞进同一个对象的数组里,是因为用了#0这个索引标识——它会把所有属性都映射到split_attributes数组的同一个位置(索引0),自然就把多个键值对合并成了数组形式。

正确的JOLT Spec

只需要把索引标识从#0换成&1,就能让每个属性对应数组里的独立对象:

{
  "operation": "shift",
  "spec": {
    "*": {
      "$": "split_attributes[&1].key",
      "@": "split_attributes[&1].value"
    }
  }
}

为什么这个能行?

  • &1在这里引用的是父级节点(也就是*遍历的每个属性)的索引,每个属性会被分配到split_attributes数组的不同位置。
  • $代表当前遍历到的属性名,作为key的值;@代表当前属性对应的值,作为value的值。这样每个属性都会生成一个独立的{key:..., value:...}对象。

验证效果

输入JSON

{ "property": "someValue", "propertyName" : "anotherValue" }

转换后输出

{
  "split_attributes": [
    { "key": "property", "value": "someValue" },
    { "key": "propertyName", "value": "anotherValue" }
  ]
}

完美匹配你想要的预期结果啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:00:31