2016-07-15 66 views
0

我收到一个有效载荷,例如:Dataweave字段命名为“zip”如何在映射中使用它?

{ 
    "street": "123 fake st", 
    "city": "San Francisco" 
    "state": "CA", 
    "zip": 94117 
} 

但在我dataweave,它看起来像编辑认为Zip是一款功能。我如何得到它不认为呢?这里是我的dataweave:

Address: { 
     Street: payload.address.street, 
     City: payload.address.city, 
     State: payload.address.state, 
     Zip: payload.address.zip 
    }, 

被列出的错误是在“邮编:payload.address 拉链

感谢您的帮助

回答

1

正如Anirban提到的,配置是否正常。实际上,当我们在Studio中打开DataWeave代码时,zip字段被识别为函数。而Studio将其列为错误。

因此为避免歧义,我建议将其包装在单引号内:Zip: payload.address.'zip'。没有错误列出了。

+0

啊!这就是我在寻找感谢@sulthony h! –

0

我发现下面的示例工作:

<flow name="application1Flow"> 
     <http:listener config-ref="HTTP_Listener_Configuration" path="/test" doc:name="HTTP"/> 
     <dw:transform-message doc:name="Transform Message"> 
      <dw:input-payload doc:sample="json.json"/> 
      <dw:set-payload><![CDATA[%dw 1.0 
%input payload application/json 
%output application/json 
--- 
Address:{ 
    Street: payload.address.street, 
    City: payload.address.city, 
    State: payload.address.state, 
    Zip: payload.address.zip 

    }]]></dw:set-payload> 
     </dw:transform-message> 
     <logger message="Payload #[message.payloadAs(java.lang.String)]" level="INFO" doc:name="Logger"/> 
</flow> 

我使用的输入请求是: -

{ 

"address": { 
    "street": "123 fake st", 
    "city": "San Francisco", 
    "state": "CA", 
    "zip": 94117 
} 

}

,我发现它的工作: -
enter image description here

+0

正确,它的工作原理,但编辑仍然错过标签它。我想知道转义字符是什么,或者这只是一个编辑器错误? –

相关问题