處理 JSON null 和空數組及對象


描述了對 JSON 數據中使用的 null 和空數組及對象的處理。

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	}

如果是地址,那么會創建空地址數據對象。數據對象不具有空列表的概念。因此,針對這兩個屬性,不會對數據對象采取任何操作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM