流行restful风格的当下,json基础知识还是很重要的
Json总结
Json:javascript object Notation(JavaScript对象表示法)
Json是存储和交换文本信息的语法。类似XML
json比xml更小,更快,更易解析
Json独立于语言,Json使用Javascript语法来描述数据对象,但是json仍独立于语言和平台
json具有自我描述性,更易理解
Json文本格式在语法上与创建JavaScript对象的代码相同
所以无需解析器,JavaScrip程序能够使用内建的函数eval()函数,用json数据来生成原生的的JavaScript对象
与XML相同之处
- json是纯文本
- json具有“自我描述性”(人类可读)
- json具有JavaScript进行解析
- json可使用Ajax进行传输
与xml不同之处
- 没有结束标签,更短
- 读写速度更快
- 能使用内建的Javascript eval()进行解析
- 使用数组
- 不使用保留字
应用场景
- 读取xml 文档
- 使用XML DOM来循环遍历文档
- 读取值并存储并在变量中
使用JSON
- 读取Json字符串
- 用eval()处理Json字符串
Json语法
Json语法规则:
* 数据在名称/值对中
* 数据由逗号分隔
* 大括号保存对象
* 中括号保存数组
Json 名称值对
Json数据书写形式是: 名称/值对
名称/值对包括字段名称(双引号),后面写一个冒号:
“name”:”runoob”
Json值
- 数字(整数或者浮点)
- 字符串(双引号中)
- 逻辑值(true或false)
- 数组(在中括号中)
- 对象(再打括号中)
- null
Json数字
Json数字可以是整型或者浮点型:
{“age”:30}
Json对象
Json对象再大括号中({}):
对象可以包含多个名称/值对:
{“name”:”菜鸟教程”,”url”:”www.runoob.com”}
等价于,JavaScript中的:
name = “菜鸟教程”
url = “www.runoob.com”
Json数组
“sites”:[
{“name”:”菜鸟教程”,”url”:”www.runoob.com”},{“name”:”google”,”url”:”www.google.com”},{“name”:”微博”,”url”:”www.weibo.com”}
]
Json布尔值
json 布尔值可以是true 或者 false
{“false”:true}
Json null
json可以设置null:
{“runoob”:null}
Json文件
* Json文件的文件类型是"json"
* Json文本的MIME类型是"application/json"