JSON nullと空の配列およびオブジェクトの処理
1583 ワード
JSONデータで用いられるnullと空の配列およびオブジェクトの処理について述べた.
JSONデータはnullと空の配列とオブジェクトの概念を持つ.このセクションでは、各コンセプトがnullおよび未設定のデータ・オブジェクト・コンセプトにどのようにマッピングされるかを説明します.
JSONには、配列、オブジェクト、数値、ブールなど、任意のデータ型に対して値を設定できる特殊な値nullがあります.
前の例を考えるとnull値を持つJSONデータがデータオブジェクトとして解析され、以下の場合に成立する.
id-このモードで属性を空に定義するとnullに設定されます.このアトリビュートが空で定義されていない場合は、例外が放出されます.
firstName-null値をこの属性に設定します.
address-このモードで属性を空に定義するとnullに設定されます.このアトリビュートが空で定義されていない場合は、例外が放出されます.
homeAddresses-モードでは、属性を空にすることはできません.そのため、属性は設定されていません.
phoneNumbers-このモードで属性を空に定義する必要があります.そうしないと、例外が放出されます.
シーケンス化がJSONの場合、データ・オブジェクトの属性値がnullの場合、シーケンス化はJSON nullになります.
JSONデータに存在しない属性は、データオブジェクト空間の未設定属性にマッピングされる.データ・オブジェクトの属性が設定されていない(設定されていない)場合、その属性はJSONデータに表示されません.
JSON空の概念は配列とオブジェクトに適用され、以下に示す.
アドレスの場合、空のアドレスデータオブジェクトが作成されます.データ・オブジェクトには、空のリストの概念はありません.したがって、この2つのプロパティについては、データ・オブジェクトには何も操作されません.
JSONデータはnullと空の配列とオブジェクトの概念を持つ.このセクションでは、各コンセプトがnullおよび未設定のデータ・オブジェクト・コンセプトにどのようにマッピングされるかを説明します.
Null値
JSONには、配列、オブジェクト、数値、ブールなど、任意のデータ型に対して値を設定できる特殊な値nullがあります.
34 { Schema types
35 "id":null, (integer)
36 "firstName": null, (string)
37 "address": null, (Address complex type with maxOccurs = 1)
38 "homeAddresses":null (Address complex type with maxOccurs > 1)
39 "phoneNumbers": null (string with maxOccurs > 1)
40 }
前の例を考えるとnull値を持つJSONデータがデータオブジェクトとして解析され、以下の場合に成立する.
id-このモードで属性を空に定義するとnullに設定されます.このアトリビュートが空で定義されていない場合は、例外が放出されます.
firstName-null値をこの属性に設定します.
address-このモードで属性を空に定義するとnullに設定されます.このアトリビュートが空で定義されていない場合は、例外が放出されます.
homeAddresses-モードでは、属性を空にすることはできません.そのため、属性は設定されていません.
phoneNumbers-このモードで属性を空に定義する必要があります.そうしないと、例外が放出されます.
シーケンス化がJSONの場合、データ・オブジェクトの属性値がnullの場合、シーケンス化はJSON nullになります.
属性が設定されていません
JSONデータに存在しない属性は、データオブジェクト空間の未設定属性にマッピングされる.データ・オブジェクトの属性が設定されていない(設定されていない)場合、その属性はJSONデータに表示されません.
空の属性
JSON空の概念は配列とオブジェクトに適用され、以下に示す.
41 {
42 "address":{}
43 "homeAddresses":[]
44 "phoneNumbers":[]
45 }
アドレスの場合、空のアドレスデータオブジェクトが作成されます.データ・オブジェクトには、空のリストの概念はありません.したがって、この2つのプロパティについては、データ・オブジェクトには何も操作されません.