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	}

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

  • 相关阅读:
    摄像头bug查找工作总结
    高通camera结构(摄像头基础介绍)
    什么是滤波器,滤波器是干嘛用的,IIR和FIR滤波器又是什么?(回答请简洁,别浪费大家时间)
    详解摄像头各个引脚的作用关系
    Camera帧率和AE的关系
    CMOS Sensor的调试经验分享
    VSYNC与HSYNC与PCLK与什么有关系
    PCLK怎么获得?
    高清摄像头MIPI接口与ARM处理器的连接
    常用正则
  • 原文地址:https://www.cnblogs.com/duanxz/p/3447864.html
Copyright © 2011-2022 走看看