输入:
{
"HEADER": {
"VKORG": 1501,
"VTWEG": 10,
"KUNNR": "0006503254",
"WAERK": "GBP",
"ITEM": [
{
"DATAB": 20231101,
"DATBI": 20231101,
"BASE_PRICE": "27.92 ",
"NET_0": "13.51 ",
"NET_1": "13.51 ",
"NET_2": "13.51 ",
"NET_3": "13.51 ",
"NET_4": "13.51 ",
"NET_5": "13.51 ",
"TOTAL": "11.74 ",
"MATNR": "000000000000021424",
"VRKME": "KAR",
"CONDITION": [
{
"STUNR": "010",
"ZAEHK": "001",
"KSCHL": "ZA01",
"WAERS": "GBP",
"KPEIN": "1000 ",
"KMEIN": "CS",
"KRECH": "C",
"KBETR": "27920.00 ",
"KWERT": "27.92 ",
"TIF_L3": "GROSS REVENUE"
},
{
"STUNR": "015",
"ZAEHK": "001",
"KSCHL": "ZX01",
"WAERS": "GBP",
"KPEIN": "1000 ",
"KMEIN": "CS",
"KRECH": "C",
"KBETR": "-14410.00",
"KWERT": -14.41,
"TIF_L3": "NOTIONAL PRICE ADJUSTMENT"
},
{
"STUNR": 520,
"ZAEHK": "001",
"KSCHL": "YY21",
"KPEIN": "0 ",
"KRECH": "A",
"KBETR": "-10.00",
"KWERT": -0.14,
"TIF_L3": "JOINT BUSINESS INITIATIVES"
},
{
"STUNR": 526,
"ZAEHK": "001",
"KSCHL": "YY27",
"KPEIN": "0 ",
"KRECH": "A",
"KBETR": "-110.00",
"KWERT": -1.49,
"TIF_L3": "DATA SHARING"
},
{
"STUNR": 583,
"ZAEHK": "001",
"KSCHL": "YY95",
"KPEIN": "0 ",
"KRECH": "A",
"KBETR": "-10.00",
"KWERT": -0.14,
"TIF_L3": "DAMAGED PACKAGING"
}
]
},
{
"DATAB": 20231102,
"DATBI": 20231129,
"BASE_PRICE": "27.92 ",
"NET_0": "13.51 ",
"NET_1": "13.51 ",
"NET_2": "13.51 ",
"NET_3": "13.51 ",
"NET_4": "13.51 ",
"NET_5": "13.51 ",
"TOTAL": "7.24 ",
"MATNR": "000000000000021424",
"VRKME": "KAR",
"CONDITION": [
{
"STUNR": "010",
"ZAEHK": "001",
"KSCHL": "ZA01",
"WAERS": "GBP",
"KPEIN": "1000 ",
"KMEIN": "CS",
"KRECH": "C",
"KBETR": "27920.00 ",
"KWERT": "27.92 ",
"TIF_L3": "GROSS REVENUE"
},
{
"STUNR": "015",
"ZAEHK": "001",
"KSCHL": "ZX01",
"WAERS": "GBP",
"KPEIN": "1000 ",
"KMEIN": "CS",
"KRECH": "C",
"KBETR": "-14410.00",
"KWERT": -14.41,
"TIF_L3": "NOTIONAL PRICE ADJUSTMENT"
},
{
"STUNR": 520,
"ZAEHK": "001",
"KSCHL": "YY21",
"KPEIN": "0 ",
"KRECH": "A",
"KBETR": "-10.00",
"KWERT": -0.14,
"TIF_L3": "JOINT BUSINESS INITIATIVES"
},
{
"STUNR": 526,
"ZAEHK": "001",
"KSCHL": "YY27",
"KPEIN": "0 ",
"KRECH": "A",
"KBETR": "-110.00",
"KWERT": -1.49,
"TIF_L3": "DATA SHARING"
},
{
"STUNR": 546,
"ZAEHK": "001",
"KSCHL": "YY44",
"WAERS": "GBP",
"KPEIN": "1 ",
"KMEIN": "CS",
"KRECH": "C",
"KBETR": "-4.50",
"KWERT": "-4.50",
"TIF_L3": "PRICE-OFF"
},
{
"STUNR": 583,
"ZAEHK": "001",
"KSCHL": "YY95",
"KPEIN": "0 ",
"KRECH": "A",
"KBETR": "-10.00",
"KWERT": -0.14,
"TIF_L3": "DAMAGED PACKAGING"
}
]
}
]
}
}
预期输出:
[
{
"VKORG": 1501,
"VTWEG": 10,
"KUNNR": "0006503254",
"WAERK": "GBP",
"DATAB": 20231101,
"DATBI": 20231101,
"BASE_PRICE": "27.92 ",
"NET_0": "13.51 ",
"NET_1": "13.51 ",
"NET_2": "13.51 ",
"NET_3": "13.51 ",
"NET_4": "13.51 ",
"NET_5": "13.51 ",
"TOTAL": "11.74 ",
"MATNR": "000000000000021424",
"VRKME": "KAR",
"STUNR": "010",
"ZAEHK": "001",
"KSCHL": "ZA01",
"WAERS": "GBP",
"KPEIN": "1000 ",
"KMEIN": "CS",
"KRECH": "C",
"KBETR": "27920.00 ",
"KWERT": "27.92 ",
"TIF_L3": "GROSS REVENUE"
},
{
"VKORG": 1501,
"VTWEG": 10,
"KUNNR": "0006503254",
"WAERK": "GBP",
"DATAB": 20231101,
"DATBI": 20231101,
"BASE_PRICE": "27.92 ",
"NET_0": "13.51 ",
"NET_1": "13.51 ",
"NET_2": "13.51 ",
"NET_3": "13.51 ",
"NET_4": "13.51 ",
"NET_5": "13.51 ",
"TOTAL": "11.74 ",
"MATNR": "000000000000021424",
"VRKME": "KAR",
"STUNR": "015",
"ZAEHK": "001",
"KSCHL": "ZX01",
"WAERS": "GBP",
"KPEIN": "1000 ",
"KMEIN": "CS",
"KRECH": "C",
"KBETR": "-14410.00",
"KWERT": -14.41,
"TIF_L3": "NOTIONAL PRICE ADJUSTMENT"
},
{
"VKORG": 1501,
"VTWEG": 10,
"KUNNR": "0006503254",
"WAERK": "GBP",
"DATAB": 20231101,
"DATBI": 20231101,
"BASE_PRICE": "27.92 ",
"NET_0": "13.51 ",
"NET_1": "13.51 ",
"NET_2": "13.51 ",
"NET_3": "13.51 ",
"NET_4": "13.51 ",
"NET_5": "13.51 ",
"TOTAL": "11.74 ",
"MATNR": "000000000000021424",
"VRKME": "KAR",
"STUNR": 520,
"ZAEHK": "001",
"KSCHL": "YY21",
"KPEIN": "0 ",
"KRECH": "A",
"KBETR": "-10.00",
"KWERT": -0.14,
"TIF_L3": "JOINT BUSINESS INITIATIVES"
},
{
"VKORG": 1501,
"VTWEG": 10,
"KUNNR": "0006503254",
"WAERK": "GBP",
"DATAB": 20231101,
"DATBI": 20231101,
"BASE_PRICE": "27.92 ",
"NET_0": "13.51 ",
"NET_1": "13.51 ",
"NET_2": "13.51 ",
"NET_3": "13.51 ",
"NET_4": "13.51 ",
"NET_5": "13.51 ",
"TOTAL": "11.74 ",
"MATNR": "000000000000021424",
"VRKME": "KAR",
"STUNR": 526,
"ZAEHK": "001",
"KSCHL": "YY27",
"KPEIN": "0 ",
"KRECH": "A",
"KBETR": "-110.00",
"KWERT": -1.49,
"TIF_L3": "DATA SHARING"
},
{
"VKORG": 1501,
"VTWEG": 10,
"KUNNR": "0006503254",
"WAERK": "GBP",
"DATAB": 20231101,
"DATBI": 20231101,
"BASE_PRICE": "27.92 ",
"NET_0": "13.51 ",
"NET_1": "13.51 ",
"NET_2": "13.51 ",
"NET_3": "13.51 ",
"NET_4": "13.51 ",
"NET_5": "13.51 ",
"TOTAL": "11.74 ",
"MATNR": "000000000000021424",
"VRKME": "KAR",
"STUNR": 583,
"ZAEHK": "001",
"KSCHL": "YY95",
"KPEIN": "0 ",
"KRECH": "A",
"KBETR": "-10.00",
"KWERT": -0.14,
"TIF_L3": "DAMAGED PACKAGING"
},
{
"VKORG": 1501,
"VTWEG": 10,
"KUNNR": "0006503254",
"WAERK": "GBP",
"DATAB": 20231102,
"DATBI": 20231129,
"BASE_PRICE": "27.92 ",
"NET_0": "13.51 ",
"NET_1": "13.51 ",
"NET_2": "13.51 ",
"NET_3": "13.51 ",
"NET_4": "13.51 ",
"NET_5": "13.51 ",
"TOTAL": "7.24 ",
"MATNR": "000000000000021424",
"VRKME": "KAR",
"STUNR": "010",
"ZAEHK": "001",
"KSCHL": "ZA01",
"WAERS": "GBP",
"KPEIN": "1000 ",
"KMEIN": "CS",
"KRECH": "C",
"KBETR": "27920.00 ",
"KWERT": "27.92 ",
"TIF_L3": "GROSS REVENUE"
},
{
"VKORG": 1501,
"VTWEG": 10,
"KUNNR": "0006503254",
"WAERK": "GBP",
"DATAB": 20231102,
"DATBI": 20231129,
"BASE_PRICE": "27.92 ",
"NET_0": "13.51 ",
"NET_1": "13.51 ",
"NET_2": "13.51 ",
"NET_3": "13.51 ",
"NET_4": "13.51 ",
"NET_5": "13.51 ",
"TOTAL": "7.24 ",
"MATNR": "000000000000021424",
"VRKME": "KAR",
"STUNR": "015",
"ZAEHK": "001",
"KSCHL": "ZX01",
"WAERS": "GBP",
"KPEIN": "1000 ",
"KMEIN": "CS",
"KRECH": "C",
"KBETR": "-14410.00",
"KWERT": -14.41,
"TIF_L3": "NOTIONAL PRICE ADJUSTMENT"
},
{
"VKORG": 1501,
"VTWEG": 10,
"KUNNR": "0006503254",
"WAERK": "GBP",
"DATAB": 20231102,
"DATBI": 20231129,
"BASE_PRICE": "27.92 ",
"NET_0": "13.51 ",
"NET_1": "13.51 ",
"NET_2": "13.51 ",
"NET_3": "13.51 ",
"NET_4": "13.51 ",
"NET_5": "13.51 ",
"TOTAL": "7.24 ",
"MATNR": "000000000000021424",
"VRKME": "KAR",
"STUNR": 520,
"ZAEHK": "001",
"KSCHL": "YY21",
"KPEIN": "0 ",
"KRECH": "A",
"KBETR": "-10.00",
"KWERT": -0.14,
"TIF_L3": "JOINT BUSINESS INITIATIVES"
},
{
"VKORG": 1501,
"VTWEG": 10,
"KUNNR": "0006503254",
"WAERK": "GBP",
"DATAB": 20231102,
"DATBI": 20231129,
"BASE_PRICE": "27.92 ",
"NET_0": "13.51 ",
"NET_1": "13.51 ",
"NET_2": "13.51 ",
"NET_3": "13.51 ",
"NET_4": "13.51 ",
"NET_5": "13.51 ",
"TOTAL": "7.24 ",
"MATNR": "000000000000021424",
"VRKME": "KAR",
"STUNR": 526,
"ZAEHK": "001",
"KSCHL": "YY27",
"KPEIN": "0 ",
"KRECH": "A",
"KBETR": "-110.00",
"KWERT": -1.49,
"TIF_L3": "DATA SHARING"
},
{ "VKORG": 1501,
"VTWEG": 10,
"KUNNR": "0006503254",
"WAERK": "GBP",
"DATAB": 20231102,
"DATBI": 20231129,
"BASE_PRICE": "27.92 ",
"NET_0": "13.51 ",
"NET_1": "13.51 ",
"NET_2": "13.51 ",
"NET_3": "13.51 ",
"NET_4": "13.51 ",
"NET_5": "13.51 ",
"TOTAL": "7.24 ",
"MATNR": "000000000000021424",
"VRKME": "KAR",
"STUNR": 546,
"ZAEHK": "001",
"KSCHL": "YY44",
"WAERS": "GBP",
"KPEIN": "1 ",
"KMEIN": "CS",
"KRECH": "C",
"KBETR": "-4.50",
"KWERT": "-4.50",
"TIF_L3": "PRICE-OFF"
},
{
"VKORG": 1501,
"VTWEG": 10,
"KUNNR": "0006503254",
"WAERK": "GBP",
"DATAB": 20231102,
"DATBI": 20231129,
"BASE_PRICE": "27.92 ",
"NET_0": "13.51 ",
"NET_1": "13.51 ",
"NET_2": "13.51 ",
"NET_3": "13.51 ",
"NET_4": "13.51 ",
"NET_5": "13.51 ",
"TOTAL": "7.24 ",
"MATNR": "000000000000021424",
"VRKME": "KAR",
"STUNR": 583,
"ZAEHK": "001",
"KSCHL": "YY95",
"KPEIN": "0 ",
"KRECH": "A",
"KBETR": "-10.00",
"KWERT": -0.14,
"TIF_L3": "DAMAGED PACKAGING"
}
]
我正在尝试编写一个规范来使用摇动变换进行以下变换。我需要将平面 json 转换为嵌套 Json
我在将平面 JSON 转换为嵌套 JSON 时遇到一些问题。我已经查看了示例,但没有进一步了解上面提到的内容。我需要使用 JOLT 规范来转换 JSON 结构。我使用 https://jolt-demo.appspot.com 来测试以下内容。
您可以在 CONDITION 数组的属性中循环,同时形成名为
others1/2
的新对象,以便准备要在第二个规范中动态消散的嵌套属性,例如
[
{
"operation": "shift",
"spec": {
"HEADER": {
"*": "others2.&",
"ITEM": {
"*": {
"*": "&1.others1.&",
"CONDITION": {
"*": {
"*": "&3.&2[&1].&"
}
}
}
}
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"CONDITION": {
"*": {
"@4,others2|@2,others1": { "*": "&4_&3_&1.&" }, // go four and two levels up the tree to grab the values of both of the "others" objects
"*": "&3_&2_&1.&" //own attributes of the "CONDITION" array
}
}
}
}
},
{//get rid of the object keys to have array of objects
"operation": "shift",
"spec": {
"*": "[]"
}
}
]