2016-07-15 9 views
0

私のようなペイロード受け付けております:"zip"という名前のDataweaveフィールドはどのようにマッピングに使用しますか?

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

をしかし、エディタはジップが関数であると考えているように私のdataweaveで、それが見えます。私はそれを考えないようにするにはどうすればいいですか?ここに私のdataweaveは次のとおりです。

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

リストされ、エラーが上にある "郵便番号:payload.address ジップ" ヘルプ

答えて

1

Anirbanにより述べたように、その構成が正しく動作しています。実際にStudioでDataWeaveコードを開くと、ジップフィールドが関数として認識されます。 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

正解ですが、エディタにはまだラベルが貼られていません。エスケープ文字が何のためなのか、これがちょうどエディタのバグなのかしら? –

関連する問題