处理 JSON null 和空数组及对象
描述了對 JSON 數(shù)據(jù)中使用的 null 和空數(shù)組及對象的處理。
JSON 數(shù)據(jù)具有 null 和空數(shù)組及對象的概念。此部分說明其中每個概念如何映射到 null 和未設置的數(shù)據(jù)對象概念。
Null 值
JSON 具有特殊值 null,可以對任何數(shù)據(jù)類型設置該值,包括數(shù)組、對象、數(shù)字和布爾類型。
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 數(shù)據(jù)被解析為數(shù)據(jù)對象,以下情況成立:
- id - 如果在該模式中將該屬性定義為可空,那么它將設置為 null。如果該屬性未定義為可空,那么它將拋出異常。
- firstName - 在該屬性上設置 null 值。
- address - 如果在該模式中將該屬性定義為可空,那么它將設置為 null。如果該屬性未定義為可空,那么它將拋出異常。
- homeAddresses - 模式不允許該屬性可空,因此未設置該屬性。
- phoneNumbers - 必須在該模式中將該屬性定義為可空,否則它將拋出異常。
當序列化為 JSON 時,如果數(shù)據(jù)對象中的屬性值為 null,那么它將序列化為 JSON null。
未設置屬性
JSON 數(shù)據(jù)中不存在的屬性映射到數(shù)據(jù)對象空間中的未設置屬性。 如果數(shù)據(jù)對象中的屬性未進行設置(未設置),那么該屬性將不會出現(xiàn)在 JSON 數(shù)據(jù)中。
空屬性
JSON 空概念適用于數(shù)組和對象,如下所示。
41 {
42 "address":{}
43 "homeAddresses":[]
44 "phoneNumbers":[]
45 } 如果是地址,那么會創(chuàng)建空地址數(shù)據(jù)對象。數(shù)據(jù)對象不具有空列表的概念。因此,針對這兩個屬性,不會對數(shù)據(jù)對象采取任何操作。
轉載于:https://www.cnblogs.com/duanxz/p/3447864.html
總結
以上是生活随笔為你收集整理的处理 JSON null 和空数组及对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 修女 休憩是谁画的呢?
- 下一篇: 判断两直线段是否相交