2016-07-15 62 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

正確,它的工作原理,但編輯仍然錯過標籤它。我想知道轉義字符是什麼,或者這只是一個編輯器錯誤? –

相關問題