zoukankan      html  css  js  c++  java
  • 处理 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	}

    如果是地址,那么会创建空地址数据对象。数据对象不具有空列表的概念。因此,针对这两个属性,不会对数据对象采取任何操作。

  • 相关阅读:
    sql server版本、组件和管理工具
    asp.net WebService如何去掉asmx后缀
    通过C#发送自定义的html格式邮件
    asp.net上传图片到服务器
    分享一个C#自定义事件的实际应用
    推荐一个ASP.NET网站内容管理系统源码
    asp.net读取模版并写入文本文件
    Win10命令提示符(cmd)怎么复制粘贴
    配置IIS的通配符应用程序映射
    用c-free 5写一个入门的程序
  • 原文地址:https://www.cnblogs.com/duanxz/p/3447864.html
Copyright © 2011-2022 走看看