程序员都应该了解的一种数据格式之JSON

北京专科荨麻疹医院 http://pf.39.net/bdfyy/bdfjc/210410/8833326.html

作者

猪哥

责编

maozz

JSON的诞生原因是因为XML整合到HTML中各个浏览器实现的细节不尽相同,所以道格拉斯·克罗克福特(DouglasCrockford)和奇普·莫宁斯达(ChipMorningstar)一起从JS的数据类型中提取了一个子集,作为新的数据交换格式,因为主流的浏览器使用了通用的JavaScript引擎组件,所以在解析这种新数据格式时就不存在兼容性问题,于是他们将这种数据格式命名为“JavaScriptObjectNotation”,缩写为JSON,由此JSON便诞生了!

今天我们来学习一下JSON的结构形式、数据类型、使用场景以及注意事项吧!

JSON格式

上面我们知道JSON是从JavaScript的数据类型中提取出来的子集,那JSON有几种结构形式呢?又有哪些数据类型呢?他们又分别对应着JavaScript中的哪些数据类型呢?

JSON的2种结构形式,键值对形式和数组形式。

举了一个JSON的实例,就是键值对形式的,如下:

{person:{name:pig,age:18,sex:man,hometown:{province:江西省,city:抚州市,county:崇仁县}}}

这种结构的JSON数据规则是:一个无序的“‘名称/值’对”集合。一个对象以{左括号开始,}右括号结束。每个“名称”后跟一个:冒号;“‘名称/值’对”之间使用,逗号分隔。

因为大多数的时候大家用的JSON可能都是上面那种key-value形式,所以很多人在讲解JSON的时候总是会忽略数组形式,这一点是需要注意的。

那JSON的数组形式是怎么样的呢?举一个实例吧!

[pig,18,man,江西省抚州市崇仁县]

数组形式的JSON数据就是值(value)的有序集合。一个数组以[左中括号开始,]右中括号结束。值之间使用,逗号分隔。

JOSN的6种数据类型

上面两种JSON形式内部都是包含value的,那JSON的value到底有哪些类型,而且上期我们说JSON其实就是从Js数据格式中提取了一个子集,那具体有哪几种数据类型呢?

string:字符串,必须要用双引号引起来。number:数值,与JavaScript的number一致,整数(不使用小数点或指数计数法)最多为15位,小数的最大位数是17。object:JavaScript的对象形式,{key:value}表示方式,可嵌套。array:数组,JavaScript的Array表示方式[value],可嵌套。true/false:布尔类型,JavaScript的boolean类型。null:空值,JavaScript的null。

以上数据形式图片来源JSON官方文档:


转载请注明:http://www.aierlanlan.com/rzfs/3301.html