用 JOLT 匹配 JSON 个数组
Match JSON arrays with JOLT
我有 JSON 来自 REST API:
{
"fields": [
"advertiser_id",
"campaign_id",
"day"
],
"data": [
[
"8905",
"234870",
"2021-09-28"
],
[
"5634",
"88467870",
"2021-09-28"
]
]
}
我想将 fields
数组中的值与 data
中的值进行匹配。有相同的顺序。所以我希望得到:
[
{
"advertiser_id": "8905",
"campaign_id": "234870",
"day": "2021-09-28"
},
{
"advertiser_id": "5634",
"campaign_id": "88467870",
"day": "2021-09-28"
}
]
有什么方法可以用 JOLT 实现吗?
您可以使用移位转换规范,其中
向上 4 层(遍历一次:
,{
三次)以达到
使用 [&1]
选择 data
数组的 sub-arrays 字段数组
通过使用[&2].
节点
消除所有返回的key-value对
比如
[
{
"operation": "shift",
"spec": {
"data": {
"*": {
"*": {
"@": "[&2].@(4,fields[&1])"
}
}
}
}
}
]
站点 http://jolt-demo.appspot.com/ 上的演示是
我有 JSON 来自 REST API:
{
"fields": [
"advertiser_id",
"campaign_id",
"day"
],
"data": [
[
"8905",
"234870",
"2021-09-28"
],
[
"5634",
"88467870",
"2021-09-28"
]
]
}
我想将 fields
数组中的值与 data
中的值进行匹配。有相同的顺序。所以我希望得到:
[
{
"advertiser_id": "8905",
"campaign_id": "234870",
"day": "2021-09-28"
},
{
"advertiser_id": "5634",
"campaign_id": "88467870",
"day": "2021-09-28"
}
]
有什么方法可以用 JOLT 实现吗?
您可以使用移位转换规范,其中
向上 4 层(遍历一次
选择:
,{
三次)以达到 使用[&1]
data
数组的 sub-arrays 字段数组通过使用
消除所有返回的key-value对[&2].
节点
比如
[
{
"operation": "shift",
"spec": {
"data": {
"*": {
"*": {
"@": "[&2].@(4,fields[&1])"
}
}
}
}
}
]
站点 http://jolt-demo.appspot.com/ 上的演示是