如何使用 jolt 将这个嵌套数据转换为线性格式数据,如下所述。需要为所有嵌套数据创建单独的条目。每条记录应该有5个数据practice_loc,prac_num,topId,S1和S2。 需要为所有嵌套数据创建单独的条目。每条记录应该有5个数据practice_loc,prac_num,topId,S1和S2。 输入数据
[
{
"practice_loc": 120,
"prac_num": 234,
"topId": "t1",
"subList": [
{
"S1": "A1",
"S2": "B1"
},
{
"S1": "A2"
}
]
},
{
"practice_loc": 334,
"prac_num": 233,
"topId": "plumcherry",
"subList": [
{
"S1": "A3"
}
]
},
{
"practice_loc": 987,
"prac_num": 232,
"topId": "artica",
"subList": [
{
"S1": "A5",
"S2": "B7"
}
]
},
{
"practice_loc": 987,
"prac_num": 232,
"topId": "rose",
"subList": [
{
}
]
}
]
预期输出
[
{
"practice_loc": 120,
"prac_num": 234,
"topId": "t1",
"S1": "A1",
"S2": "B1"
},
{
"practice_loc": 120,
"prac_num": 234,
"topId": "t1",
"S1": "A2",
"S2":""
},
{
"practice_loc": 334,
"prac_num": 233,
"topId": "plumcherry",
"S1": "A3",
"S2":""
},
{
"practice_loc": 987,
"prac_num": 232,
"topId": "artica",
"S1": "A5",
"S2": "B7"
},
{
"practice_loc": 987,
"prac_num": 232,
"topId": "rose",
"S1": "",
"S2":""
}
]
最佳答案
您可以将结果动态地呈现为
[
{ // group elements by upper level objects wrapper nodes
"operation": "shift",
"spec": {
"*": {
"subList": {
"*": {
"@2|@": "&3_&1"
}
}
}
}
},
{ // get rid of the wrappers
"operation": "shift",
"spec": {
"*": {
"*": {
"*": "[#3].&"
}
}
}
},
{ // get rid of the extra generated array, namely "subList"
"operation": "remove",
"spec": {
"*": {
"subList": ""
}
}
}
]
关于json - 如何使用jolt将嵌套数据变成线性数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76400398/