JSON データ

www.altova.com すべてを展開/折りたたむ このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  ユーザーマニュアル > JSON と JSON スキーマ >

JSON データ

このセクションは、どのように JSON データが構成されているかを簡単に説明します。 JSON データは通常ドキュメントに保管されていますが、 JSON (インスタンス) ドキュメントまたは他の型内でデータフラグメントとして保管されることもできます。 JSON データフラグメントまたはドキュメントは、下で定義されているように JSON データ構造です。

 

XMLSpy は、 ECMScript 5 拡張を追加するJ SON の拡張である JSON5 もサポートします。 詳細に関しては、 json5.org を参照してください。

 

JSON オブジェクトと配列

(通常ファイル拡張子 .json と共に保存される) JSON ドキュメント は、次のコアデータ構造により構築されます:

 

 

オブジェクト

オブジェクト は、中かっこで区切られており、順序のないゼロまたは key:value ペアのコレクションです。これらの key:value ペアは、オブジェクトのプロパティです。キーは常に文字列である必要があり、引用符で囲まれている必要があります。 (プロパティ名と呼ばれる)キーは、コロンにより値から区切られています。 プロパティ値は、 JSON データ型 (下のリスト参照) のすべての値を使用することができます。 プロパティはカンマで区切られています。下のリストは、(アトミック型の値を持つ) 3 つのプロパティを持つオブジェクトの例です :

 

    {

      "emailtype": "home",

      "emailaddress": "contact01.home@altova.com",

      "citycode": 22

    }

 

 

 

配列

配列 は、角かっこで区切られており、カンマで区切られたゼロまたは複数のアイテムのリストです。これらのアイテムは、 JSON データ型のすべてを使用することができます (下のリスト参照)。

 

Click to expand/collapse2つのオブジェクトを含む配列

したの配列は、(それぞれ中かっこにより囲まれた) 2つのオブジェクトから構成されています。 配列自身は、角かっこにより表示されています。

 

[

      {

      "emailtype": "home",

      "emailaddress": "contact01.office@altova.com",

      "citycode": 22

      },
      {

      "emailtype": "office",

      "emailaddress": "contact01.office@altova.com",

      "citycode": 22

      }

    ]

 

 

Click to expand/collapseオブジェクトのプロパティの値である配列

したのリストアは、3つのキーを持つオブジェクトです。各値は、タプル (シーケンス)を含む配列です。 (タプルは、ひとつの次元からなる配列と考えられることができます)。各タプル内の3つのアイテムは単純型です。

 

{

      "x": [ 1, 2, "abc" ],

      "y": [ 3, 4, "def" ],

      "z": [ 5, 6, "ghi" ]

}

 

 

JSON データ型

オブジェクトプロパティ値と配列アイテムは次の型であることができます:

 

string (引用符で囲まれている必要があります)。文字列は date-time または email フォーマットなどの追加的にフォーマットを持つように指定されることができます。
number: 小数点の部分を持つ数値。整数を含みます。
integer: 小数点の部分を持たない数値。 number 型のサブセット
boolean (引用符で囲まれていない true/false)
object: 他のオブジェクト内で使用されると、データをネストすることができます。
array: オブジェクトにより許可されているよりも複雑な構造を作成する機能を与えます。
null (引用符で囲まれていない null )

 

JSON データのサンプル

下は、 JSON データ フラグメントのサンプルです。ドキュメントがどのようにオブジェクトと配列に構造化されているかに注意してください。また、キーの値のデータ型、引用内の文字列の値、他の型は緑に色付けされている点などに注意してください。

{

  "first": "Jason",

  "last": "Jones"

  "isManager": true,

  "age": 35,

  "address": {

    "street": "Jason Avenue",

    "city": "Jasonville",

    "state": "JS",

    "postcode": "JS12 ON34"

  },

  "phone": [

    {

      "type": "home",

      "number": "12 3456-7890"

    },

    {

      "type": "office",

      "number": "789 012-34567"

    }

  ],

  "children": [],

  "partner": null

}

 

JSON5 と JSON 間の違いについて

JSON5 は、JavaScript の厳密なサブセットあり、新規の JSON データ型を追加せず、全ての既存の JSON コンテンツと作業することができます。主要な違いは以下にリストされるとおりです:

 

JSON5 はコメントをサポートします。コメントは以下のように区切ることができます: // comment // または /* comment */.
JSON5 内では、 key:value ペアのキーは、引用符で囲まれる必要はありません。
JSON5 内では、文字列を複数のラインにわたり作成することができます。
JSON5 ドキュメントを Avro に対してではなく JSON スキーマに対して検証することができます。

 

 


(C) 2018 Altova GmbH