zoukankan      html  css  js  c++  java
  • json格式详解

    一、Json的简单介绍 
    从结构上看,所有的数据最终都可以分成三种类型: 
    第一种类型是scalar(标准变量),也就是一个单独的string(字符串)或数字(numbers),比如“北京”这个单独的词。 
    第二种类型是sequence(序列),也就是若干个相关的数据按照一定顺序并列在一起,又叫做array(数组)或List(列表),比如“北京,东京”。 
    第三种类型是mapping(映射),也就是一个名/值对(Name/value),即数据有一个名称,还有一个与之相对应的值,这又称作hash(散列)或dictionary(字典),比如“首都:北京”。 

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它的规则非常简单并且是有趣的: 
      1).并列的数据之间用逗号(“,”)分隔。 
      2).映射用冒号(“:”)表示。 
      3).并列数据的集合(数组)用方括号("[]")表示。 
      4).映射的集合(对象)用大括号(“{}”)表示。 
    按照这个规则可以作以下理解: 
      (1).数组用“[]”创建,对象用“{}”创建,并且使用Json基本都是用[]或者{}创建的数组或对象,否则一个普通的字符串是没有意义的; 
      (2).无论是数组还是对象,之间的元素都用“,”隔开; 
      (3).对象内部,(属性的)名称和值用“:”隔开,并且必须要用“:”隔开,不可单独存在属性名或者值; 
      (4).对象和数组可以互相嵌套,即数组中的一个元素可以是一个对象也可以是一个数组,同理对象中的一个属性的值可以是一个对象也可以是一个数组。

    上面四条规则,就是Json格式的所有内容。

    比如,下面这句话:

    "北京市的面积为16800平方公里,常住人口1600万人。上海市的面积为6400平方公里,常住人口1800万。"

    写成json格式就是这样:

    [
      {"城市":"北京","面积":16800,"人口":1600},
      {"城市":"上海","面积":6400,"人口":1800}
    ]

    如果事先知道数据的结构,上面的写法还可以进一步简化:

    [
      ["北京",16800,1600],
      ["上海",6400,1800]
    ]

    2.具体形式

      1、对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。(如图所示,图中表示数据的方式是类似非确定性自动机的形式,没学过编译原理的人,可能理解起来困难点,实际上也是正则表达式的形式。下同) 

      

    2、数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。

      

    3、值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。 

     

    4、字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。 字符串(string)与C或者Java的字符串非常相似。

      

    5、数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。

  • 相关阅读:
    字符编码
    模和同余定理
    数的编码
    Win32 Error Code COM Error Code NTSTATUS的区别、转换
    Error Codes Messages查找工具介绍
    NTSTATUS
    COM Error Code(HRESULT)部分摘录
    COM Error---HRESULT
    Win32 Error
    windows错误代码摘录
  • 原文地址:https://www.cnblogs.com/DswCnblog/p/3548563.html
Copyright © 2011-2022 走看看