JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,有效提高网络传输速度。目的是取代繁琐笨重的XML格式。
JSON就是一串字符串 只不过元素会使用特定的符号标注。
{} 双括号表示对象
[] 中括号表示数组
"" 双引号内是属性或值
: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)
所以 {"name": "Michael"} 可以理解为是一个包含name为Michael的对象
而[{"name": "Michael"},{"name": "Jerry"}]就表示包含两个对象的数组
当然了,你也可以使用{"name":["Michael","Jerry"]}来简化上面一部,这是一个拥有一个name数组的对象
- 数据格式
JSON 实际上是 JavaScript 的一个子集,所以JSON 的数据格式和 JavaScript 是对应的:
- number => JS number
- boolean => JS boolean
- string => JS string //
- null => JS null
- array => JS Array 的表达方式 []
- object => JS {} 表达式
- 注意事项
&1.JSON规定字符集是UTF-8,字符串必须使用"",Object的键也必须使用""
&2.数组或对象的最后一个成员,不能加逗号
&3.复合类型的值只能是数组或对象,不能是函数、正则表达式对象、日期对象。
&4.注意,null、空数组和空对象都是合法的 JSON 值。
JSON.parse方法用于将JSON字符串转化成对象。//typeof() // object [{…}, {…}, {…}, {…}, {…}]
JSON.stringify方法用于将一个值转为字符串。//typeof()//string [{"ID":"4637","WH_ID":"324","LC_ID":"302","QTY":"122","IN_PRICE":"2","IN_AMOUNT":"244","TAX_RATE":"0.17","TAX_PRICE":"2","TAX_AMOUNT":"244","IA_PRICE":"2","IA_AMOUNT":"244","DATA_FLAG":"0","CREATE_PSN":"25201","CREATE_DATE":"2018/1/22 18:42:50","MYINDEX":"1"}]
JSON 的语法规则
JSON 的语法规则十分简单,可称得上“优雅完美”,总结起来有:
- 数组(Array)用方括号(“[]”)表示。
- 对象(Object)用大括号(”{}”)表示。
- 名称/值对(name/value)组合成数组和对象。
- 名称(name)置于双引号中,值(value)有字符串、数值、布尔值、null、对象和数组。
- 并列的数据之间用逗号(“,”)分隔
JSON是JS的一个子集,所以可以在JS中轻松地读,写JSON。读和写JSON都有两种方法,分别是利用”.”操作符和“[key]”的方式。eg:
var obj = {
object: { //对象结构JSON对象
id: 1,
msg: "对象里的对象"
}
};
console.log(obj['object'])
console.log(obj.object)
两个效果一样