通过具有不同名称的属性进行 JOLT 转换
JOLT shift through properties with different names
我有一个 JSON:
{
"relations": {
"advertiser_id": {
"9968": {
"name": "Advance/Unicredit",
"id": 9968
},
"10103": {
"name": "Advance/ ORIMI",
"id": 10103
}
},
"campaign_id": {
"256292": {
"name": "Interests_Aidata",
"id": 256292,
"advertiser_id": 9968
},
"257717": {
"name": "G_14.04",
"id": 257717,
"advertiser_id": 10103
}
}
}
}
我认为这是一个简单的移位操作,但由于 random 属性 中的所有值,我被卡住了 "9968":
我不知道不明白如何通过这些不同的属性名称移动 json。
预期输出:
[
{
"name": "Interests_Aidata",
"id": 256292,
"advertiser_id": 9968
},
{
"name": "G_14.04",
"id": 257717,
"advertiser_id": 10103
}
]
更新
是否可以添加顶级(在 relations
下)advertiser_id
或 campaign_id
作为示例中的附加属性?
[
{
"name": "Interests_Aidata",
"id": 256292,
"advertiser_id": 9968,
"entity_type": "campaign_id"
},
{
"name": "G_14.04",
"id": 257717,
"advertiser_id": 10103,
"entity_type": "campaign_id"
}
]
如果您的目标是在这些属性(advertiser_id
和 campaign_id
)下累积每个对象数组,则使用以下规范
[
{
"operation": "shift",
"spec": {
"*": {
"*": {
"*": {
"@": "&2"
}
}
}
}
}
]
如果您只对最近编辑的 campaign_id
下的内容感兴趣,请使用
[
{
"operation": "shift",
"spec": {
"*": {
"campaign_id": {
"*": {
"@": ""
}
}
}
}
}
]
以下规格可以使用上次更新确定的所需结果
[
{
"operation": "shift",
"spec": {
"*": {
"campaign_id": {
"*": {
"*": "[#2].&",
"": "[#2].entity_type"
}
}
}
}
}
]
我有一个 JSON:
{
"relations": {
"advertiser_id": {
"9968": {
"name": "Advance/Unicredit",
"id": 9968
},
"10103": {
"name": "Advance/ ORIMI",
"id": 10103
}
},
"campaign_id": {
"256292": {
"name": "Interests_Aidata",
"id": 256292,
"advertiser_id": 9968
},
"257717": {
"name": "G_14.04",
"id": 257717,
"advertiser_id": 10103
}
}
}
}
我认为这是一个简单的移位操作,但由于 random 属性 中的所有值,我被卡住了 "9968":
我不知道不明白如何通过这些不同的属性名称移动 json。
预期输出:
[
{
"name": "Interests_Aidata",
"id": 256292,
"advertiser_id": 9968
},
{
"name": "G_14.04",
"id": 257717,
"advertiser_id": 10103
}
]
更新
是否可以添加顶级(在 relations
下)advertiser_id
或 campaign_id
作为示例中的附加属性?
[
{
"name": "Interests_Aidata",
"id": 256292,
"advertiser_id": 9968,
"entity_type": "campaign_id"
},
{
"name": "G_14.04",
"id": 257717,
"advertiser_id": 10103,
"entity_type": "campaign_id"
}
]
如果您的目标是在这些属性(advertiser_id
和 campaign_id
)下累积每个对象数组,则使用以下规范
[
{
"operation": "shift",
"spec": {
"*": {
"*": {
"*": {
"@": "&2"
}
}
}
}
}
]
如果您只对最近编辑的 campaign_id
下的内容感兴趣,请使用
[
{
"operation": "shift",
"spec": {
"*": {
"campaign_id": {
"*": {
"@": ""
}
}
}
}
}
]
以下规格可以使用上次更新确定的所需结果
[
{
"operation": "shift",
"spec": {
"*": {
"campaign_id": {
"*": {
"*": "[#2].&",
"": "[#2].entity_type"
}
}
}
}
}
]