我有数组的json输入:
{
"id": 3,
"name": "ROOT",
"mylist": [{
"id": 10,
"info": "hello"
},
{
"id": 11,
"info": "world"
}
]
}
我希望将其转换为“ flat” json,如下所示:
{
"id": 3,
"name": "Root",
"mylist[0].id": 10,
"mylist[0].info": "hello",
"mylist[1].id": 11,
"mylist[1].info": "world"
}
如何通过JoltTransformJSON规范实现这一目标?
答案 0 :(得分:1)
必须逃避通常会触发转移以添加子对象的所有事物。
[
{
"operation": "shift",
"spec": {
"id": "id",
"name": "name",
"mylist": {
"*": {
"id": "myList\\[&1\\]\\.id",
"info": "myList\\[&1\\]\\.info"
}
}
}
}
]
这是同一件事,但“更通用”。
[
{
"operation": "shift",
"spec": {
"*": "&",
"mylist": {
"*": {
"*": "&2\\[&1\\]\\.&"
}
}
}
}
]
请注意,您仍然必须告诉我,“ mylist”是需要介入的东西,即没有Shift规范可以使所有Json扁平化。