有没有一种方法可以在具有顶级对象值的数组项中添加额外的属性? 我的输入就像
{
"ABC": {
"news": [{
"datetime": "2019-03-06T14:12:00-05:00",
"source": "source 1",
"summary": "asd ada dsd f ef sdf vert"
}
]
},
"XYZ": {
"news": [{
"datetime": "2019-03-06T14:12:00-05:00",
"source": "source 1",
"summary": "asd ada dsd f ef sdf vert"
}
]
}
}
,预期输出为
"news": [{
"symbol": "ABC",
"datetime": "2019-03-06T14:12:00-05:00",
"source": "source 1",
"summary": "asd ada dsd f ef sdf vert"
},
{
"symbol": "XYZ",
"datetime": "2019-03-06T14:12:00-05:00",
"source": "source 1",
"summary": "asd ada dsd f ef sdf vert"
}
]
通过使用以下规范,我可以合并两个数组,但是我很难在项目中添加符号。
[{
"operation": "shift",
"spec": {
"*": {
"news": {
"*": ""
}
}
}
}]
答案 0 :(得分:0)
我设法使用2个班次规则来做到这一点。首先,我将符号名称提取到一个数组中,并合并新闻列表,然后,我将symbol元素推入新闻项中(使用正确的数组索引位置):
[{
"operation": "shift",
"spec": {
"*": {
"$": "symbol",
"news": {
"*": "news"
}
}
}
}, {
"operation": "shift",
"spec": {
"news": {
"*": {
"@(3,symbol[&])": "news[&1].symbol",
"*": "news[&1].&"
}
}
}
}
]
查看这是否是您想要的。 干杯