JSON入门(Understanding JSON)

Understanding JSON

JSON(JavaScript Object Notation)是一种轻量级的数据交换语法,易于人类理解、易于机器解析。正如其名,JSON基于JavaScript脚本语言;然而,JSON本身是完全语言无关的。

JSON是RESTful web services之间进行数据传输的一种常用表示法。大多数编程语言提供了解析JSON数据的库,很多web框架现在也支持JSON格式的响应数据。由于JSON比XML占用存储空间小,它非常适合网速较低的情况。例如,移动设备通常连接速度较低。

JSON官方的internet media type是application/json,JSON文件一般用.json作为后缀名。

结构(Structure)

JSON格式由两部分定义。

  • 名值对(name/value pairs)
  • 值的顺序列表(ordered list of values)

值可以是一下任意一种类型,且可以嵌套:

  • String(Unicode)
  • Number
  • Boolean(true or false)
  • Array
  • Object
  • null(empty)

例子

这个对象包含三个域,name是一个string,age是一个number,member是一个boolean。

{
    "name": "John",
    "age":  35
    "member": false
}

Arrays包含一个值的列表,这些值可以是任意类型。这个对象包含两个arrays;indexes包含number类型值,names数组包含string类型值。

{
    "indexes": [5, 10, 15, 20],
    "names": ["John", "Elizabeth", "Mary"]
}

地址簿的联系卡是一个更复杂的例子。这个例子涉及了多个元素,包括嵌套对象和数组。

{
    "firstName": "John",
    "lastName": "Smith",
    "birthday": "1975-01-31",
    "spouse": {
        "firstName": "Mary",
        "lastName": "Smith"
    },
    "addresses": [
        {
            "description": "home",
            "street": "123 Peachtree Ln",
            "city": "Atlanta",
            "state": "GA",
            "postalCode": 30305
        },
        {
            "description": "work",
            "street": "456 Peachtree St",
            "city": "Atlanta",
            "state": "GA",
            "postalCode": 30305
        }
    ],
    "phoneNumbers": [
        {
            "description": "home",
            "number": "404-555-1234"
        },
        {
            "description": "mobile",
            "number": "678-555-1234"
        }
    ]
}

英文原为链接:Understanding JSON


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。