我有一个 JSON:
[
{
"datetime": "2025-04-07T18:03:50+03:00",
"title": "Theme Drive",
"content": {
"adPlacement": {
"id": 4289485,
"name": "otclick_OLV_apart_jan_mar_In_stream",
"banners": {
"href": [
"https://api.adriver.ru/banners/12037384",
"https://api.adriver.ru/banners/12043208",
"https://api.adriver.ru/banners/11887226",
"https://api.adriver.ru/banners/12028437"
]
}
}
}
}
]
我想构建下面的 json:将数组中的元素分成具有属性的对象banner_id
,然后将数字存储为值banners/
我期望这个输出:
[
{
"banner_id": 12037384
},
{
"banner_id": 12043208
},
{
"banner_id": 11887226
},
{
"banner_id": 12028437
}
]
我写:
[
{
"operation": "shift",
"spec": {
"*": {
"content": {
"adPlacement": {
"banners": {
"href": {
"*": "[&]"
}
}
}
}
}
}
}
]
我刚刚得到了一个数组(与预期不符),而且我在处理 Banner_id 时遇到了麻烦。对于拆分,我尝试了类似这样的方法:"banner_id": "=split('banners/', @(1,&))"
,但它抛出了错误。如何达到预期的输出?
更新
第二种情况,里面有一个对象href
:
[
{
"datetime":"2025-04-07T18:03:50+03:00",
"title":"Theme Drive",
"content":{
"adPlacement":{
"id":4289485,
"name":"otclick_OLV_apart_jan_mar_In_stream",
"banners":{
"href":"https://api.adriver.ru/banners/12037384"
}
}
}
}
]
预期的:
[
{
"banner_id": 12037384
}
]
我的结果:
[
{
"operation": "shift",
"spec": {
"*": {
"content": {
"adPlacement": {
"banners": {
"href": {
"*": {
"*banners/*": {
"$(0,2)": "[&2].banner_id"
}
},
"*banners/*": {
"$(0,2)": "[0].banner_id"
}
}
}
}
}
}
}
},
{
"operation": "modify-overwrite-beta",
"spec": {
"*": {
"banner_id": "=toInteger"
}
}
}
]