JSON就是名值对 name/value pair

一个有趣的英文博客网站

Mastering JSON ( JavaScript Object Notation )

数据类型和Json格式

数据类型,从结构上看,所有的数据最终都可以分成三种类型

第一种类型是scalar(标量),也就是一个单独的string(字符串)或数字(numbers),比如“北京”这个单独的词。

第二种类型是sequence(序列),也就是若干个相关的数据按照一定顺序并列在一起,又叫做array(数组)或List(列表),比如“北京,东京”。

第三种类型是mapping(映射),也就是一个名/值对(Name/value),即数据有一个名称,还有一个与之相对应的值,这又称作hash(散列)或dictionary(字典),比如“首都:北京”。

Json格式规则:(Douglas Crockford提出的)

1) 并列的数据之间用逗号(“,”)分隔。

2) 映射用冒号(“:”)表示。

3) 并列数据的集合(数组)用方括号("[]")表示。

4) 映射的集合(对象)用大括号(“{}”)表示。

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

写成json格式就是这样:

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

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

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

验证JSON数据格式是否正确,http://www.jsonlint.com/ 这个在线编辑器可以验证

访问数据元素
var myObject = { 'color' : 'blue' };
myObject.color;或者myObject[“color”]两种方式,
 
var employees = { "accounting" : [   // accounting is an array in employees.
                                    { "firstName" : "John",  // First element
                                      "lastName"  : "Doe",
                                      "age"       : 23 },
                                   
                                    { "firstName" : "Mary",  // Second Element
                                      "lastName"  : "Smith",
                                      "age"       : 32 }
                                  ], // End "accounting" array.                                 
                  "sales"       : [ // Sales is another array in employees.
                                    { "firstName" : "Sally", // First Element
                                      "lastName"  : "Green",
                                      "age"       : 27 },
                                   
                                    { "firstName" : "Jim",   // Second Element
                                      "lastName"  : "Galley",
                                      "age"       : 41 }
                                  ] // End "sales" Array.
                } // End Employees
访问数据元素:
employees.sales[0].firstName,代表sales数组中第一个firstName元素Sally
employees.sales[1].firstName,代表sales数组中第二个firstName元素Jim

原文地址:https://www.cnblogs.com/zqstc/p/1612171.html