繁体   English   中英

包含对象数组时如何迭代 object?

[英]How to iterate object when it contains array of objects?

输入

{
    "id": "123",
    "address": [{
        "street": "5",
        "city": "ameerpet",
        "pin": "500073"
    }, {
        "street": "6",
        "city": "sec",
        "pin": "500020"
    }]
}

注意:["LAA001","LAA002","LAA003"] -> 将其用作变量

必填 output :

[{
        "id": "123",
        "lob": "LAA001",
        "attributeText": "5"
    },
    {
        "id": "123",
        "lob": "LAA001",
        "attributeText": "6"
    },
    {
        "id": "123",
        "lob": "LAA002",
        "attributeText": "ameerpet"
    },
    {
        "id": "123",
        "lob": "LAA002",
        "attributeText": "sec"
    },
    {
        "id": "123",
        "lob": "LAA003",
        "attributeText": "500073"
    },
    {
        "id": "123",
        "lob": "LAA003",
        "attributeText": "500020"
    }
]

如果您使用的是 JavaScript,那应该可以:

 var input = { "id": "123", "address": [ { "street": "5", "city": "ameerpet", "pin": "500073" }, { "street": "6", "city": "sec", "pin": "500020" }] } var iob = ["LAA001","LAA002","LAA003"] var output = [] input['address'].forEach((item, index) => { var keyIndex = 0 for(const key in item){ let obj = { "id": input['id'], "lob": iob[keyIndex], "attributeText": item[key] } output.push(obj) keyIndex += 1 }

%dw 2.0
output application/json
var inp = ["LAA001","LAA002","LAA003"]
var inp1 = payload.address.street ++ payload.address.city ++ payload.address.pin
---
inp1 map {
   id: payload.id,
   lob: inp[(($$)/2)],
   attributeText: $
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM