JSONを利用するには

JSONDecode/JSONEncode/HttpEnd

JSON文字列をXML、ParameterList、Recordのいずれかのストリームへ変換するには、 JSONDecodeコンポーネントを利用します。また、ストリームをJSON形式に変換するには、JSONEncodeコンポーネントか、HttpEndコンポーネントのプロパティを利用します。

JSONをストリーム変換する(JSONDecodeコンポーネント)

1.JSON 文字列のストリームを含むフローを作成し、「ストリーム」タブからJSONDecodeコンポーネント(「JSONからストリームに変換します)」をドラッグして配置する

9-3-01.PNG

HINT
JSONDecodeコンポーネントでは、出力ストリームはXML、ParameterList、Recordのいずれか指定されたストリームフォーマットとなります。

 

2.出力のストリーム型を選択する

9-3-02.PNG

処理に合わせてその他のコンポーネントも配置、接続してフローを完成させます。

HINT
「JSON種別」プロパティでは、入力のJSON文字列が、 (JSON)「オブジェクト」か「配列」かを指定します。「配列」を指定した場合は、このコンポーネントが起点となってループが開始され、配列の要素ごとに、JSONオブジェ クトを変換して出力します。配列の要素がJSONオブ ジェクトでなかった場合は、各要素に対して "array" というキーを付加して、各要素ごとにJSONオブジェクトを新しく作成します。

 

ストリームをJSON形式に変換する (JSONEncodeコンポーネント)

1.FileGetコンポーネントなどで変換対象のストリームを指定し、「ストリーム」タブからJSONEncodeコンポーネント(「 ストリームからJSONに変換します」)をドラッグして配置する

9-3-03.PNG

 

2.出力ストリームに応じて、JSONEncodeコンポーネントのプロパティを設定する

9-3-04.PNG

JSONEncodeコンポーネントの出力結果は、XMLストリームからの変換ではTextストリームになります。

HINT
出力のデータ型について
XMLストリームからの変換では、出力のデータ型はすべて文字列になります。それ以外のストリームからの変換ではフィールド定義のデータ型に従いますが、DateTime型は「2016-03-25T00:00:00.000 JST」のような形式の文字列になります。データ型がBinary型の場合は、Base64形式でエンコードした文字列になります。

 

ストリームをJSON形式に変換する (HttpEndコンポーネント)

1.フローをHttpEndコンポーネントで終了し、HttpEndコンポーネントの「JSON変換」プロパティで「する」または「する(インデント)」を指定する

9-3-05.PNG

 

2.JSON変換に関するその他のプロパティを指定する

9-3-06.PNG 

「JSONPコールバック」プロパティでは、JSON変換した結果をJSONPとする場合のコールバック関数名を指定します。「JSONトップレベル名」プロパティでは、入力ストリームがCSV、Record、FixedLengthのときに、 JSON形式をObjectまたはArrayにするかどうかを指定します。また、必要に応じて「Content-Type」プロパティを指定します。

CAUTION
Binary、Text、HTML、MIMEの各ストリームは、JSON変換できません。これらの入力ストリームに対してJSON変換が指定された場合は、実行時エラーになります。

HINT
HttpEndコンポーネントの「Content-Type」プロパティで「自動判別」を指定してJSON変換した場合、Content-Type の値は、JSONPコールバックの指定がない場合は「application/json」、指定がある場合は「text/javascript」となります。必要に応じ、ストリームに合わせて変更してください。

 

この記事は役に立ちましたか?
3人中0人がこの記事が役に立ったと言っています

他のキーワードで検索する