如何解决JOLT 转换 - 提取字段并将其置于顶层
我有一个 SAP Idoc,其中包含额外的客户特定字段作为 JSON
{
"E1EDL20": [
{
"VBELN": "1234567890","VSTEL": "ZO01","LGNUM": "123","NTGEW": "100.660","ANZPK": "00002","/XYZ/XYZ1234_E1EDL20": {
"ACTION": "POSTED","CONSIGNMENT": "12345678","FREIGHT_ORDER_EXTERNAL": "S123456789","IN_YARD": "X","IN_YARD_DATE": "20201123","IN_YARD_TIME": "100923"
},"E1ADRM1": [
{
"PARTNER_Q": "LF","PARTNER_ID": "0000100000","/XYZ/XYZ1234_E1ADRM1": {
"SUPPLIER": "X"
}
},{
"PARTNER_Q": "OSP","PARTNER_ID": "ZO01","/XYZ/XYZ1234_E1ADRM1": {
"SUPPLIER": "X"
}
}
]
}
]
}
我想提取数组的第一个字段并将其放到顶层。 这是预期的输出:
{
"deliveryInternal" : "1234567890","receivingPoint" : "ZO01","warehouseNumber" : "123","netWeight" : "100.66","numberOfPackages" : "00002","type": "LF","action" : "POSTED","consignment" : "12345678","freightOrderExternal" : "S123456789","inYard" : "X","inYardDate" : "00002"
}
有没有人知道如何解决这个问题?
解决方法
您可以对基于索引的键使用 shift
操作,如下所示
[
{
"operation": "shift","spec": {
"E1EDL20": {
"0": {
"VBELN": "deliveryInternal","VSTEL": "receivingPoint","/XYZ/XYZ1234_E1EDL20": {
"ACTION": "action"
},"E1ADRM1": {
"0": {
"PARTNER_Q": "type"
}
}
}
}
}
}
]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。