名为 "zip" 的 Dataweave 字段如何在映射中使用它?
Dataweave field named "zip" how do I use it in the mapping?
我收到这样的有效载荷:
{
"street": "123 fake st",
"city": "San Francisco"
"state": "CA",
"zip": 94117
}
但在我的dataweave中,编辑器似乎认为zip是一个函数。我怎么才能不这么想呢?这是我的数据编织:
Address: {
Street: payload.address.street,
City: payload.address.city,
State: payload.address.state,
Zip: payload.address.zip
},
列出的错误在 "Zip: payload.address.zip"
感谢您的帮助
我发现以下示例有效:
<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
}
}
我发现它有效:-
正如 Anirban 所提到的,该配置工作正常。事实上,当我们在 Studio 中打开 DataWeave 代码时,zip 字段被识别为一个函数。 Studio 将其列为错误。
因此,为了避免歧义,我建议用单引号括起来:Zip: payload.address.'zip'
。不再列出错误。
我收到这样的有效载荷:
{
"street": "123 fake st",
"city": "San Francisco"
"state": "CA",
"zip": 94117
}
但在我的dataweave中,编辑器似乎认为zip是一个函数。我怎么才能不这么想呢?这是我的数据编织:
Address: {
Street: payload.address.street,
City: payload.address.city,
State: payload.address.state,
Zip: payload.address.zip
},
列出的错误在 "Zip: payload.address.zip"
感谢您的帮助
我发现以下示例有效:
<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
}
}
我发现它有效:-
正如 Anirban 所提到的,该配置工作正常。事实上,当我们在 Studio 中打开 DataWeave 代码时,zip 字段被识别为一个函数。 Studio 将其列为错误。
因此,为了避免歧义,我建议用单引号括起来:Zip: payload.address.'zip'
。不再列出错误。