我有一个JSON输入:
{
"levelOne": [
{
"leveltwo": {
"levelThree": [
{
"type": "typeOne",
"leveltwo": {
"Id": "101000094794",
"Id2": "101000013207"
}
},
{
"type": "typeTwo",
"leveltwo": {
"Id": "101000013207",
"Id2": "101000013207"
}
}
]
}
}
]
}
有没有一种Jolt规范可以降低每个关键点,包括嵌套对象中的关键点?(在这种情况下,在级别2下是什么)
{
"levelone": [
{
"leveltwo": {
"levelThree": [
{
"id": "101000094794",
"id2": "101000013207",
"type": "typeOne"
},
{
"id": "101000013207",
"id2": "101000013207",
"type": "typeTwo"
}
]
}
}
]
}
目前,我使用的规范(jolt模板)如下:`
[
{
"operation": "shift",
"spec": {
"levelOne": {
"*": {
"leveltwo": {
"id": "&3[&2].leveltwo.id",
"levelThree": {
"*": {
"leveltwo": {
"Id": "&6[&5].leveltwo.&3[&2].id",
"Id2": "&6[&5].leveltwo.&3[&2].id2"
},
"type": "&5[&4].leveltwo.&2[&1].type"
}
}
}
}
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"$": "&1.key",
"@": "&1.value"
}
}
},
{
"operation": "modify-overwrite-beta",
"spec": {
"levelOne": {
"key": "=toLower"
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"value": "@(1,key)"
}
}
}
]
预期结果(密钥应在较低级别三,类型一,类型二):
{
"levelone": [
{
"leveltwo": {
"levelthree": [
{
"id": "101000094794",
"id2": "101000013207",
"type": "typeone"
},
{
"id": "101000013207",
"id2": "101000013207",
"type": "typetwo"
}
]
}
}
]
}
谢谢!