如何使用JOLT规范从一个根元素在嵌套数组中添加2个元素?

输入:

{
"k1": "v1","k2": "v2","event": "SUMMARY"
}

预期输出:

{
  "k1": "v1","event": "SUMMARY","arr": [
    {
      "k1": "v1","key": "first"
    },{
      "k2": "v2","key": "second"
    },{
      "summary1": "s1","key": "SUMMARY"
    },{
      "summary1": "s2","key": "SUMMARY"
    }
  ]
}

对于每个“ k1”和“ k2”,应将相应的数组元素添加为

{
"k2": "v2","key": "second"
}

对于当event =“ SUMMARY”时,应分别添加2个元素

{
"summary1": "s1","key": "SUMMARY"
},{
"summary2": "s2","key": "SUMMARY"
}

请帮助了解JOLT规范

hanzilou 回答:如何使用JOLT规范从一个根元素在嵌套数组中添加2个元素?

由于您基于我编写的内容进行了输入和输出 javascript中的一个功能。

{ “ k1”:“ v1”, “ k2”:“ v2”, “ event”:“ SUMMARY” }

该功能仅适用于以上输入

并且您还必须提到您是否要以哪种语言输出...

//Input

var obj = {
    "k1": "v1","k2": "v2","event": "SUMMARY"
}

//funciton calling 
obj["arr"] = checkThis(obj);



//output
console.log(obj)




function checkThis(obj) {
    var arr = [];
    Object.keys(obj)
        .forEach(function eachKey(key) {
            if (key == "k1") {
                var tempObj = {}
                tempObj["k1"] = obj[key];
                tempObj["key"] = "first";
                arr.push(tempObj)
            } else if (key == "k2") {
                var tempObj = {}
                tempObj["k2"] = obj[key];
                tempObj["key"] = "second";
                arr.push(tempObj)
            } else if (key == "event") {
                var tempObj1 = {}
                var tempObj2 = {}
                tempObj1["summary1"] = "s1";
                tempObj1["key"] = obj[key];
                tempObj2["summary1"] = "s2";
                tempObj2["key"] = obj[key];
                arr.push(tempObj1)
                arr.push(tempObj2)
            }
        });                        
return arr;
}

本文链接:https://www.f2er.com/3067063.html

大家都在问