質問
Lumappsとデータ連携するためのマッピングを設定しています。
直前のPOST実行処理で取得したJSONデータのプロパティ名が数字で始まる場合、出力スキーマで値を取得できず、「member」という項目名に変換されてしまいます。
本事象の原因と回避策を教えてください。
回答
RESTコネクターの仕様では、取得されたJSONデータをXML形式に変換しております。
その際、JSONデータ内のプロパティ名がXMLの要素名として不正な場合、後続のMapperの入力スキーマで、プロパティ項目値の参照時に値が取得できない事象が発生します。
回避策としては、XPathにより値を取得することで、値を参照できる可能性がありますので、以下手順にて事象が解消されるかをお試しください。
■前提条件
・数値から始まる項目の最大数が判明していること
・カスタムフィールドのkey値とvalue値が対になっていること
・カスタムフィールドのkey値が固定であること(可変しない)
・以下例のように出力することはできず、key値とValue値がそれぞれの要素名で出力されます
例:<"memberのKey値">: <"memberのValue値">
↓
<num1 name="memberのKey値">"memberのValue値"</num1>
■手順
1.マッピング画面の出力先に、項目名と値を格納する要素を別々に作成する
2.「XPathによる値の取得」ロジックをマッピングキャンバスに2つ配置する
3.「member」の親要素(例では「CustomProfile」)から、手順2で作成したロジックにマッピングリンクをつなぐ
4.手順2で作成した「XPathによる値の取得」ロジックに以下の設定を行い、項目名と値を取得する
4-1.「XPathによる値の取得」ロジックを開き、「XPath式」項目に "member[1]" と設定する
4-2.もう1つの「XPathによる値の取得」ロジックを開き、「XPath式」項目に "member[1]/@name" と設定する
4-3.設定した2つの「XPathによる値の取得」ロジックを出力先の要素にマッピングリンクでつなぐ
5.プロパティ名が数字で始まる項目の数だけ、手順1~4の処理を実施する
コメント
0件のコメント
記事コメントは受け付けていません。