我正在尝试为以下输入创建颠簸转换:
{
"admin": [
{
"heading": "header1",
"fields": [
{
"description": "Name",
"value": "John"
},
{
"description": "Foo",
"value": "Bar"
}
],
"id": "123456"
},
{
"heading": "header2",
"fields": [
{
"description": "Name",
"value": "Jane"
},
{
"description": "Foo",
"value": "Bar"
}
],
"id": "789123"
}
]
}
具有所需的输出:
{
"admin":
{
"header1":
{
"Name" : "John",
"Foo": "Bar",
"id": "123456"
},
"header2":
{
"Name" : "Jane",
"Foo": "Bar"
"id": "789123"
},
}
}
我刚刚开始理解颠簸转换的基础,但是对于嵌套结构来说,这似乎有点复杂。
答案 0 :(得分:1)
此规格可以满足您的要求
[
{
"operation": "shift",
"spec": {
"*": {
"*": {
"id": "admin.@(1,heading).id",
"*": {
"*": {
"value": "admin.@(3,heading).@(1,description)"
}
}
}
}
}
}
]
此规范循环遍历fields数组,并将description字段与在上方查找具有该值的键的键匹配。