什么是 json ?
json: JavaScript Object Notation (JavaScript 对象表示法)
json : 是轻量级的文本数据交换格式
json: 独立于语言,支持不同编程语言(PHP,JSP,.NET)
json语法规则
json 语法是 JavaScript 对象表示语法的子集。
- 数据由 键名/值 组成
- 数据由逗号分隔
- 大括号保存对象
- 中括号保存数组
json是个什么东西?
json是一种传递对象的语法,对象可以是name/value对,数组和其他对象。
下面是一小段json代码:
{ "skillz": { "web": [ { "name": "html", "years": "5" }, { "name": "css", "years": "3" } ], "database": [ { "name": "sql", "years": "7" } ] } }
主要部分:花括弧,方括弧,冒号和逗号
花括弧表示一个“容器”
方括号装载数组
名称和值用冒号隔开
数组元素通过逗号隔开
json 值
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在中括号中)
- 对象(在大括号中)
- null
- 不包括 undefined
json很像xml,因为:
他们都“自我描述”,这意味着值都是可列举的,是可读的
都是有层级的。(例如你可以在值里再存放值)
都能被多种的编程语言解析和使用
都能使用ajax方法来传递(例如httpWebRequest)
json跟xml不一样,因为:
xml里在元素的开始和结尾处有尖括号和标签名:json使用花括号,而且只在数据的开始和结束时使用。
json更简练,毫无疑问更适合人类书写,也许也能让我们更快速的阅读。
json可以在JavaScript里简单的传递到eval()方法里使用
json里有数组{每个元素没有自己的名称}
在xml里你可以对一个元素使用任意想要的名称,在Json里你不能使用Javascript里的保留字
json 是一种严格的js对象格式,json的属性名必须有 双引号,如果值是字符串,也必须是双引号
json 只是一种数据格式(或者叫数据形式),数据格式是一种规范,格式,是不能用来存储数据的,比如:
var obj = {}; //这是js对象,不是json var obj1 = {300,height:100}; // 这是js对象,不是json var obj2 = {"width":300,"height":200,"color":"red"} //这个是json格式的对象 var obj2 = {"name":"jack","adr":"河北"} //这个是json格式的字符串