从REST API我收到下一个JSON:
[
{
"id":3130326,
"content":{
"icon_256x256":{
"flags":[
],
"id":26864619,
"type":"static"
},
"image_1080x607":{
"flags":[
],
"id":26864707,
"type":"static"
}
},
"status":"blocked",
"textblocks":{
"cta_sites_full":{
"text":"learnMore",
"title":""
},
"text_220":{
"text":"Domain",
"title":""
},
"text_90":{
"text":"Don't worry, be happy!",
"title":"Test!"
}
},
"urls":{
"primary":{
"id":90970124,
"preview_link":"",
"url_types":[
"external_new",
"external"
]
},
"url_slide_1":{
"id":90970124,
"preview_link":"",
"url_object_type":"domain"
}
},
"user_can_request_remoderation":false
}
]
我想从下面1级的content
个对象中抓取:在这种情况下,它是icon_256x256
和image_1080x607
,抓取场id
,并保持不变,但只需要id
个场.此外,我需要字段textblocks
和内部urls
做同样的事情与content
.因此,我希望得到这样的结果:
{
"content":{
"icon_256x256":{
"id":26864619
},
"image_1080x607":{
"id":26864707
}
},
"status":"blocked",
"textblocks":{
"cta_sites_full":{
"text":"learnMore",
"title":""
},
"text_220":{
"text":"Domain",
"title":""
},
"text_90":{
"text":"Don't worry, be happy!",
"title":"Test!"
}
},
"urls":{
"primary":{
"id":90970124
},
"url_slide_1":{
"id":90970124
}
}
}
content
中的对象可能有不同的名称,比如video_landscape
而不是icon_256x256
,所以我不能基于名称进行循环.但它总是比你低一层,你可以看到.urls
场也一样.我希望我能描述清楚!
我的try 是,但它不工作(:
[
{
"operation": "shift",
"spec": {
"content": {
"*": {
"id": "content.&1.id"
}
},
"textblocks": {
"@": "textblocks.&"
},
"urls": {
"primary": {
"id": "urls.primary.id"
}
}
}
}
]