JSON--就是名值对 name/value pair

本文介绍了JSON数据类型的三种基本形式:标量、序列和映射,并通过实例展示了如何使用JSON格式来表示具体信息,同时提供了JSON数据校验的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个有趣的英文博客网站

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/archive/2009/11/27/1612171.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值