如何使用Jolt将JSON对象转换为数组?
Jolt转换JSON对象为数组的最优方法
问题描述
现有原始JSON对象:
{ "17.39.108.85:80": [], "10.204.32.9:443": [ { "status": "DOWN" } ] }
需要转换为如下数组形式:
[ { "17.39.108.85:80": [] }, { "10.204.32.9:443": [ { "status": "DOWN" } ] } ]
解决方案
使用以下Jolt转换规格即可实现需求,这是最简洁高效的写法:
[ { "operation": "shift", "spec": { "*": { "@": "[#2].&" } } } ]
规格说明
*:遍历原始JSON中的所有顶层键(即IP:端口格式的字符串)@:引用当前键对应的原始值[#2]:生成数组结构,#2会为每个遍历到的键分配一个独立的数组元素位置&:复用当前遍历到的键名,确保每个数组元素都是{ "键": 值 }的独立对象
这套规格能精准将原始键值对拆分到目标数组中,完全匹配预期格式。
内容的提问来源于stack exchange,提问作者Vijay Kumar
相关产品推荐
相关产品推荐

