質問
OpenWeather APIのレスポンスに含まれる 「weather」 配列要素(「main」、「description」 など)をDBに連携しようとすると、値がブランクになります。正しいマッピング方法を教えてください。
回答
「weather」 はJSON配列のため、HULFT Square上では各要素が 「element」 として展開されます。そのため、「main」、「description」 は 「element」 配下からマッピングしてください。
先頭の1要素のみ取得する場合は、入力側の 「element」 にインデックス 「1」 を指定し、以下のようにマッピングします。
weather / element[1] / main weather / element[1] / description
この場合も、「element[1]」 と出力側の 「row」 を繰り返しロジックで接続してください。
配列内の全要素を処理する場合は、「element」 と出力側の 「row」 を繰り返しロジックで接続します。
Mapping例:

補足
OpenWeather APIのレスポンスには、天候が雨の場合に 「rain」 オブジェクト(例:"1h": 3.65)が追加されます。「1h」 のように数字から始まるメンバ名をスキーマ定義の要素名に指定するとエラーが発生します。
これはHULFT SquareのRESTコネクターがJSONレスポンスをXML形式のデータモデルへ変換する際、XMLの仕様では要素名の先頭に数字を使用できないことに起因する仕様上の動作です。
HULFT Squareでは、JSONメンバ名がXMLの要素名として不正な場合、要素名を 「member」 に変換し、元のJSONメンバ名を 「name」 属性として保持します。そのため、スキーマ定義上の要素名を 「member」 とすることでエラーが解消されます。
コメント
0件のコメント
記事コメントは受け付けていません。