
本文共 1700 字,大约阅读时间需要 5 分钟。
一、json是什么?
JSON,全称是Javascript Object Notation,即Javascript对象标记法
JSON是一种轻量级(Light-Weight)、基于文本的(Text-Based)、可读的(Human-Readable)格式。
JSON的名称中虽然带有Javascript,但这是指其语法规则是参考Javascript对象的,而不是只能用于Javascript语言。
JSON无论对于人,还是对于机器来说,都是十分便于阅读和书写的,而且相比XML(另一种常见的数据交换格式),文件更小,因此迅速成为网络上十分流行的交换格式。
近年来,Javascript已经成为浏览器上事实上的标准语言,Javascript的风靡,与JSON的流行也有密切的关系。
因为JSON本身就是参考Javascript对象的规则定义的,其语法与Javascript定义对象的语法几乎完全相同。
JSON格式的创始人声称此格式永远不升级,这就表示这种格式具有长时间的稳定性,10年前写的文件,10年后也能用,没有任何兼容性问题。
二、JSON的语法规则是怎样的?
JSON的语法规则十分简单,无论用何种方法总结都只有数条而已,可称得上“优秀完美”,总结起来有:
-数组(Array)用方括号(“[ ]”)表示。
-对象(Object)用大括号(“{ }”)表示。
-名称/值对(name/value)组合成数组和对象。
-名称(name)置于双引号中,值(value)有字符串、数组、布尔值、null、对象和数组。不存在undefined、function等。
-并列的数据之间用(“,”)分隔。
JSON名称用双引号“”,不能使用单引号‘’。
{
“name”:”muzidigbig”,
“age”:23
}
JSON结构有两种结构:
json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构
- 1、对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。
- 2、数组:数组在js中是中括号“[]”括起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。
- 对象
- 数组
- 名称/值对(Name/Value)
Value---字符串:只能用双引号,使用单引号会报错
Value---数值:不能使用8/16进制
三、JSON和XML
JSON常被拿来与XML做比较,因为JSON的诞生本来就多多少少要来取代XML的意思。相比XML,JSON的优势如下:
-没有结束标签,长度更短,读写更快。
-能够直接被Javascript解析器解析。
-可以使用数组。
JSON:
{
“name”:”muzidigbig”,
“age”:”22”,
“friends”:[“Adam”,”Lucy”,”Gwen”]
}
XML:
<root>
<name>muzidigbig</name>
<age>22</age>
<friends > Adam </friends >
<friends > Lucy </friends >
<friends > Gwen </friends >
</root>
四、JSON的解析和生成
在Javascript中,有两个方法与此相关:JSON.parse()和JSON.stringify().
第三个参数将序列化变为易于阅读的形式
五、JSON和XML转换
六、AJAX和JSON
七、GeoJSON和TopoJSON
两种JSON格式的扩展格式,TopoJSON是GeoJSON的优化版。
分析Geojson地理信息:
案例:
案例:
发表评论
最新留言
关于作者
