使用Jolt Transformer实现键数组与值数组的JSON转换需求
Jolt JSON转换方案
输入JSON
{ "keys": [ "key1", "key2", "key3" ], "values": [ [ "value 1.1", "value 2.1", "value 3.1" ], [ "value 1.2", "value 2.2", "value 3.2" ] ] }
期望输出JSON
{ "Result": [ { "key1": "value 1.1", "key2": "value 2.1", "key3": "value 3.1" }, { "key1": "value 1.2", "key2": "value 2.2", "key3": "value 3.2" } ] }
Jolt转换规则(Shift操作)
通过索引匹配keys和values数组的对应元素,生成目标结构:
[ { "operation": "shift", "spec": { "values": { "*": { "*": { "@(3,keys[&1])": "Result[&2].&" } } } } } ]
规则解析
values:定位到输入中的values数组- 第一个
*:遍历values下的每一组子值数组,对应输出Result数组的索引&2 - 第二个
*:遍历子值数组中的每个元素,对应keys数组的索引&1 @(3,keys[&1]):向上回溯3层获取keys数组中对应索引的元素,作为输出对象的键Result[&2].&:将当前元素值映射到Result数组对应位置的对象中,键为上述获取的keys元素
内容的提问来源于stack exchange,提问作者Mohamed Nazir
相关产品推荐
相关产品推荐

