数据编织中json中的值选择器

时间:2017-04-25 20:50:16

标签: json mule dataweave

我正在使用数据编辑中的json和xml这个使用变量的m,这是我的json

{"step1": [
"lightratio": {
   "step1Name": "mystep"

 },

 "lightratio": {
  "step1Name":"mystep"


  }
  ]

  }

我的数据编辑脚本

  %dw 1.0
  %output application/xml 
  %var test = step1.lightratio.step1Name
   --- 
  {
   my logic
   }

Myquery: - 我想将json元素“step1Name”的值,即“mystep”分配给dataweave变量,即“test”(onlye value),我怎样才能实现这一点,如果我只放价值,对我来说没问题在json数组中位置为零。

2 个答案:

答案 0 :(得分:1)

我假设你问题的json是有效载荷。您可以从step1Name列表中的第一个元素访问step1,如下所示:

payload.step1[0].lightratio.step1Name

答案 1 :(得分:0)

当有效负载为空时,您可以使用skipNullOn

%dw 1.0
%output application/xml skipNullOn="everywhere"
%var payload = {  
   "step1":[  
      {  
         "lightratio":{  
            "step1Name":"mystep"
         }
      },
      {  
         "lightratio":{  
            "step1Name":"mystep"
             }
          }
       ]
    }
%var test = payload.step1[0].lightratio.step1Name
---
root : {
    varValue: test
}

带有效载荷的输出

<?xml version='1.0' encoding='windows-1252'?>
<root>
  <varValue>mystep</varValue>
</root>

使用空载荷输出

<?xml version='1.0' encoding='windows-1252'?>
<root/>