dataweave中json中的值选择器
我正在dataweave中对xml进行json转换,对于这个m使用变量,这是我下面的jsondataweave中json中的值选择器,json,mule,dataweave,Json,Mule,Dataweave,我正在dataweave中对xml进行json转换,对于这个m使用变量,这是我下面的json {"step1": [ "lightratio": { "step1Name": "mystep" }, "lightratio": { "step1Name":"mystep" } ] } 我的数据编织脚本 %dw 1.0 %output application/xml %var test = step1.lightratio.step1Name
{"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数组中放置位置为零的值对我来说是好的。我假设您问题中的json是有效负载。您可以从
step1
列表中的第一个元素访问step1Name
,如下所示:
payload.step1[0].lightratio.step1Name
对于负载为空的情况,可以使用
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/>
是,这是我的有效负载,如果我的有效负载为null,则表示没有json有效负载。在这种情况下,如何添加null检查。因为表达式“payload.step1[0].lightratio.step1Name”将失败,因为[0]处不存在任何值。。请注意DataWeave有一个名为的功能。在那里,您可以告诉dataweave如何处理空情况。