Mule:How 将 json 个值的列表合并为一个
Mule:How to combine a list of json values into one
输入JSON
{
"digital-profiles": [{
"Id": "INTID1",
"status": "ACTIVE",
"cId": "12"
},
{
"dId": "INTID2",
"status": "barred",
"cId": "13"
},
{
"Id": "INTID3",
"status": "ACTIVE",
"cId": "14"
}
]
}
输出:
{
"Results": {
"NewId": "INTID1:ACTIVE,INTID2:barred,INTID3:ACTIVE"
}
}
我正在尝试使用上面提到的输入来实现上面提到的输出 JSON。如何使用数据编织转换来实现这一点。任何帮助将不胜感激。
这是您可以做到的一种方式(代码未经测试,但目前正在处理非常相似的事情)
function ParseJSON(MyObject)
{
// parse incoming var into a JSON object.
var MyObjectParsed= JSON.parse(MyObject);
var i = 0;
var NewJSONstring = "{/"Results/": {/"NewId/":";
// for each profile
for(;MyObjectParsed.digital-profiles[i];)
{
NewJSONstring = NewJSONstring+ MyObjectParsed.digital-profiles[i].Id;
NewJSONstring = NewJSONstring+ ':';
NewJSONstring = NewJSONstring+ MyObjectParsed.digital-profiles[i].status;
NewJSONstring = NewJSONstring+ ',';
i++
}
return NewJSONstring;
%dw 1.0
%output application/json
---
Results : {
NewId : payload.digital-profiles map ($.Id ++ ':' ++ $.status) joinBy ','
}
希望对您有所帮助。
输入JSON
{
"digital-profiles": [{
"Id": "INTID1",
"status": "ACTIVE",
"cId": "12"
},
{
"dId": "INTID2",
"status": "barred",
"cId": "13"
},
{
"Id": "INTID3",
"status": "ACTIVE",
"cId": "14"
}
]
}
输出:
{
"Results": {
"NewId": "INTID1:ACTIVE,INTID2:barred,INTID3:ACTIVE"
}
}
我正在尝试使用上面提到的输入来实现上面提到的输出 JSON。如何使用数据编织转换来实现这一点。任何帮助将不胜感激。
这是您可以做到的一种方式(代码未经测试,但目前正在处理非常相似的事情)
function ParseJSON(MyObject)
{
// parse incoming var into a JSON object.
var MyObjectParsed= JSON.parse(MyObject);
var i = 0;
var NewJSONstring = "{/"Results/": {/"NewId/":";
// for each profile
for(;MyObjectParsed.digital-profiles[i];)
{
NewJSONstring = NewJSONstring+ MyObjectParsed.digital-profiles[i].Id;
NewJSONstring = NewJSONstring+ ':';
NewJSONstring = NewJSONstring+ MyObjectParsed.digital-profiles[i].status;
NewJSONstring = NewJSONstring+ ',';
i++
}
return NewJSONstring;
%dw 1.0
%output application/json
---
Results : {
NewId : payload.digital-profiles map ($.Id ++ ':' ++ $.status) joinBy ','
}
希望对您有所帮助。