我是第一次接触Jolt,并试图转换一个拥有数组对象数组的JSON.我注意到的是,一个父级的子数组元素("time")与另一个父级的子数组混合在一起.请告诉我怎么解决这个问题?
Input JSON个
[
{
"id": "1",
"name": "data1",
"opening": [
{
"From": "07:30:01",
"To": "17:30:01"
},
{
"From": "07:30:02",
"To": "17:30:02"
}
]
},
{
"id": "2",
"name": "data2",
"opening": [
{
"From": "07:30:03",
"To": "17:30:03"
},
{
"From": "07:30:04",
"To": "17:30:04"
}
]
}
]
Jolt Spec个
[
{
"operation": "shift",
"spec": {
"*": {
"id": "[&1].id",
"name": "[&1].name",
"opening": {
"*": {
"From": "[&1].timing.[&3].times[0].from",
"To": "[&1].timing.[&3].times[0].to"
}
}
}
}
}
]
Expected output个
[ {
"id" : "1",
"name" : "data1",
"timing" : [ {
"times" : [ {
"from" : "07:30:01",
"to" : "17:30:01"
} ]
}, {
"times" : [ {
"from" : "07:30:02",
"to" : "17:30:02"
} ]
} ]
}, {
"timing" : [ {
"times" : [ {
"from" : "07:30:03",
"to" : "17:30:03"
} ]
}, {
"times" : [ {
"from" : "07:30:04",
"to" : "17:30:04"
} ]
} ],
"id" : "2",
"name" : "data2"
} ]
Current ouput个
[ {
"id" : "1",
"name" : "data1",
"timing" : [ {
"times" : [ {
"from" : "07:30:01",
"to" : "17:30:01"
} ]
}, {
"times" : [ {
"from" : "07:30:03",
"to" : "17:30:03"
} ]
} ]
}, {
"timing" : [ {
"times" : [ {
"from" : "07:30:02",
"to" : "17:30:02"
} ]
}, {
"times" : [ {
"from" : "07:30:04",
"to" : "17:30:04"
} ]
} ],
"id" : "2",
"name" : "data2"
} ]
如果你看到JSON数组,第一个id为1的对象包含以"01""03"结尾的时间,第二个id为2的对象包含以"02""04"结尾的时间.我期待分别是"01""02"和"03""04".