我有一个带有嵌套数组的 json,需要以特定格式获取输出,但我无法这样做。
输入Json:
"audiencerange": [
{
"AudienceRangePrecision": [
"03",
"04"
]
},
{
"AudienceRangePrecision": [
"03",
"04"
]
}
]
In my conversion, O3 maps to "From", whereas 04 maps to "To".
正确的输出应该是这样的:
"onix_audience_range" : {
"values" : [ {
"AudienceRangePrecision" : "From, To"
}, {
"AudienceRangePrecision" : "From, To"
} ]
}
但是通过我的颠簸规格我得到:
"onix_audience_range" : {
"values" : [ {
"AudienceRangePrecision" : "From, From"
}, {
"AudienceRangePrecision" : "To, To"
} ]
}
我的规格非常大,因此只需为 AudienceRangePrecision 添加以下内容即可。
{
"operation": "shift",
"spec": {
"AudienceRangePrecision": {
"*": {
"1|01": {
"#Exact": "onix_audience_range.values[&2].AudienceRangePrecision"
},
"3|03": {
"#From": "onix_audience_range.values[&2].AudienceRangePrecision"
},
"4|04": {
"#To": "onix_audience_range.values[&2].AudienceRangePrecision"
}
}
}
}
}
如何获得正确的输出?
您可以使用以下转换:
[
{//rename the components of the array
"operation": "shift",
"spec": {
"*": {
"*": {
"*": {
"*": {
"03": { "#From": "onix_audience_range.values[&4].&3[]" },
"04": { "#To": "onix_audience_range.values[&4].&3[]" }
}
}
}
}
}
},
{//combine the components of the array
"operation": "modify-overwrite-beta",
"spec": {
"*": {
"*": {
"*": {
"*": "=join(',', @(1,&))"
}
}
}
}
}
]