SAP Cloud Platform集成–具有多个级别元素的XML到JSON转换

2020-08-21 04:39发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一个IFLOW,在将数据发送...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个IFLOW,在将数据发送到外部方之前,我需要执行XML到JSON的转换。 XML包含多个"元素"级别。

转换前的XML:

 <?xml version ='1.0'encoding ='UTF-8'?>
 <根>
   
      2020-02-02 
     
     
     
     
     
     
     
     
     <重量>
     
      4.54 
      3.42 
     <乳糖> 4.40 
      8.96 
      5.54 
      13.5 
      500 
     <氮气> 7.5 
      17 
      66 
      90 
      1 
      0.541 
     <温度> 37 
     <抑制剂> NF 
      99 
     <沉积物>
     
      002192817791 
   
 
 

结果应如下所示:

 {
 " TestResultsHeader":{
 " InspectionParty":{
 " ID":" 0003023291",
 "名称":" DairyOne"
 },
 " InspectionOrderID":[]
 },
 " TestResultsLine":[{
 " ParentSampleID":" 100065123",
 " TestResultsDetail":[{
 " SampleID":"",
 "分类":{
 "代码":{
 "代码":"牛奶"
 },
 "描述":"官方"
 },
 " TestDateTime":" 2018-03-28T09:32:10-06:00",
 "延期": {
 "代码":" 50",
 "名称":"温度",
 "措施":{
 " @unitCode":" F",
 "值":" 38"
 }
 },
 " TestQuantitativeMeasurement":[{
 " ID":" BF",
 "名称":"黄油",
 " ValueRange":{
 " FirstValue":" 3.79",
 " OperatorCode":" EQ",
 " UOMCode":" mm Hg"
 }
 },
 {
 " ID":" FP",
 "名称":" freezePoint",
 " ValueRange":{
 " FirstValue":" 0.558",
 " OperatorCode":" EQ",
 " UOMCode":" mm Hg"
 }
 },
 {
 " ID":"乳糖",
 "名称":"乳糖",
 " ValueRange":{
 " FirstValue":" 4.66",
 " OperatorCode":" EQ",
 " UOMCode":" mm Hg"
 }
 },
 {
 " ID":" mun",
 "名称":" mun",
 " ValueRange":{
 " FirstValue":" 11.3",
 " OperatorCode":" EQ",
 " UOMCode":" mm Hg"
 }
 },
 {
 " ID":" otherSolids",
 "名称":" otherSolids",
 " ValueRange":{
 " FirstValue":" 5.72",
 " OperatorCode":" EQ",
 " UOMCode":" mm Hg"
 }
 },
 {
 " ID":"蛋白质",
 "名称":"蛋白质",
 " ValueRange":{
 " FirstValue":" 3.08",
 " OperatorCode":" EQ",
 " UOMCode":" mm Hg"
 }
 },
 {
 " ID":"序列",
 " Name":" sequence",
 " ValueRange":{
 " FirstValue":" 800",
 " OperatorCode":" EQ",
 " UOMCode":" mm Hg"
 }
 },
 {
 " ID":" solidsNonfat",
 "名称":" solidsNonfat",
 " ValueRange":{
 " FirstValue":" 8.80",
 " OperatorCode":" EQ",
 " UOMCode":" mm Hg"
 }
 },
 {
 " ID":" somaticCellCount",
 "名称":" somaticCellCount",
 " ValueRange":{
 " FirstValue":" 140",
 " OperatorCode":" EQ",
 " UOMCode":" mm Hg"
 }
 },
 {
 " ID":"重量",
 "名称":"重量",
 " ValueRange":{
 " FirstValue":" 92660",
 " OperatorCode":" EQ",
 " UOMCode":" mm Hg"
 }
 }
 ],
 " TestQualitativeMeasurement":[{
 " ID":" coli",
 " Name":" coli",
 " ValueSet":{
 "值":"是"
 }
 },
 {
 " ID":"抑制剂",
 "名称":"抑制剂",
 " ValueSet":{
 "值":"是"
 }
 },
 {
 " ID":" lpc",
 "名称":" lpc",
 " ValueSet":{
 "值":"是"
 }
 },
 {
 " ID":" pi",
 "名称":" pi",
 " ValueSet":{
 "值":"是"
 }
 },
 {
 " ID":"沉积物",
 "名称":"沉淀",
 " ValueSet":{
 "值":"是"
 }
 },
 {
 " ID":" standardPlateCount",
 "名称":" standardPlateCount",
 " ValueSet":{
 "值":"是"
 }
 }
 ]
 }]
 }
 ]
 }
 

使用XML到JSON转换器会将" element"字段标记保留在结果中。 有没有办法用Groovy脚本处理多级元素?

5条回答
落灬小鱼
2020-08-21 05:10

我很抱歉。 我上传了错误的XML。

 <?xml version =" 1.0" encoding =" UTF-8"?>
 <根>
   
     
     
     
        0003023291 
       <名称> DairyOne 
     
   
   
     <元素>
        002192817791 
       
         <元素>
           <分类>
             <代码>
               牛奶
             
             官方
           
           <扩展名>
              50 
             
                37 
             
             <名称>温度
           
            002192817791 
            2020-02-02T00:00:00-06; 00 
           
             <元素>
               抑制剂
               <名称>抑制剂
               <值集>
                 <值>否
               
             
             <元素>
                Coli 
               <名称> Coli 
               <值集>
                 
               
             
             <元素>
                lpc 
               <名称> lpc 
               <值集>
                 
               
             
             <元素>
                pi 
               <名称> pi 
               <值集>
                 
               
             
             <元素>
                standardPlateCount 
                standardPlateCount 
               <值集>
                 
               
             
           
           
             <元素>
                BF 
               <名称>黄油脂肪
               
                  4.54 
                  EQ 
                 毫米HG 
               
             
             <元素>
               蛋白质
               <名称>蛋白质
               
                  3.42 
                  EQ 
                 毫米汞柱
               
             
             <元素>
                FP 
               <名称> freezePoint 
               
                  0.541 
                  EQ 
                 毫米汞柱
               
             
             <元素>
               乳糖
               <名称>乳糖
               
                  4.40 
                  EQ 
                  mm Hq 
               
             
             <元素>
                mun 
                mun 
               
                  7.5 
                  EQ 
                 毫米汞柱
               
             
             <元素>
                otherSolids 
               <名称> otherSolids 
               
                  5.54 
                  EQ 
                 毫米汞柱
               
             
             <元素>
               序列
               <名称>序列
               
                  7791 
                  EQ 
                 毫米汞柱
               
             
             <元素>
                solidsNonfat <​​/ID>
                solidsNonfat <​​/Name>
               
                  8.96 
                  EQ 
                 毫米汞柱
               
             
             <元素>
                somaticCellCount 
                somaticCellCount 
               
                  500 
                  EQ 
                 毫米汞柱
               
             
           
         
       
     
   
 
 

一周热门 更多>