JSON

JSONストリームは、JSONを扱うためのストリームです。

ストリームプロパティ

プロパティ名
インデント 出力時にインデントを行うかどうかを指定します。
はい 出力時にインデントを行います。
いいえ 出力時にインデントを行いません。

フィールド定義

フィールド名、データ型、配列、表示名を定義します。

フィールド名 JSONオブジェクトのキーを指定します。
データ型 String、Boolean、Integer、Double、Decimalのいずれか。
Binary、DateTimeは指定できません。
配列 キーに対応する値が配列となるかどうか指定します。
表示名 マッパーでの表示名を指定します。フィールド名であるキー名がわかりにくい場合、マッピングウィンドウで参照するフィールド名を表示名で表示することにより、わかりやすくマッピングを行うことができます。

フィールドの階層を移動するには、移動したいフィールドを選択し、右クリックして表示されるメニューから「下の枝に移動」「上の枝に移動」をクリックします。上位階層のフィールドを親フィールド、下位階層のフィールドを子フィールドと呼びます。

注意

  • 便宜上JSONのフィールド定義の最上位は「root」となっていますが、これは出力には含まれません。
  • 最上位である「root」フィールドの「配列」の値が「はい」の場合、最上位が配列であるJSONが出力されます。
  • 次の3つのフィールドのデータ型の指定は無視されます。
    • 最上位である「root」フィールド
    • 「配列」の値が「はい」のフィールド
    • 子フィールドが定義されているフィールド

フィールド名

フィールド名はその階層でのキーの名前です。

原則JSON仕様に準ずる文字を使用できますが、フィールド名に「/」を含めることはできません。

フィールドの値

フィールドの値は、「フィールド名」で表されるキーに対応する値となります。つまり最終的に文字列にした場合には、

"フィールド名": 値
という形式になります。

「データ型」がStringの場合、値は「"」(ダブルクォート)で囲まれます。もしもフィールドに「null」がマッピングされた場合は「"フィールド名": null」とはならず、そのフィールド自体が出力されなくなります。(「"key": undfined」と同義)

子フィールドを持つフィールドの値はその値を表すJSON文字列になります。

JSONフィールド定義の例

フィールド名データ型配列
rootStringいいえ
  住所録Stringはい
    番号Integerいいえ
    名前Stringいいえ
      姓Stringいいえ
      名Stringいいえ

上記のフィールド定義による出力例

{
	"住所録": [
		{
			"番号": 1,
			"名前": {
				"姓": "佐藤",
				"名": "渚"
			}
		},
		{
			"番号": 2,
			"名前": {
				"姓": "鈴木",
				"名": "かおる"
			}
		}
	]
}

レコード数

ストリームのレコード数は、配列フィールドの有無によって以下のように決まります。

この仕様はXMLの場合とほぼ同様です。

▲ このページのトップへ