JSON(JavaScript Object Notation)是一种独立于开发语言的用于存储和交换文本数据的格式,JSON 语法是JavaScript 语法的子集。
Json 可以保存数组格式和对象格式两种数据。其中对象格式以“键值对“的形式存储数据,key的取值为 String 类型,必须加双引号。
Json对象:符合json格式的对象。因为js中属性名也是以字符串的形式存储的,所以可以直接通过.访问,无需解析。
var json={"name":"lilei",age:10}; typeof(json); //"object"
Json字符串:本质是字符串,最外边是单引号。字符串里面的内容符合json的格式,使用时还需要解析。因为js是弱类型语言,后台是强类型语言,以字符串形式从前台传到后台更好处理。通过ajax向后台传递json数据时,data都要用JSON.stringfy字符串化再发送。
var jsonString='{"name":"lilei",age:10}'; typeof(jsonString); //”string”
前后端数据传输时需要确认清楚具体是哪一种数据格式,否则会出错。
原生JSON对象提供了两个相互转换的方法:
JSON.parse(string[,replacer])用来解析JSON格式的字符串,重构成JavaScript对象;其中replacer是一个转换结果的函数,将为对象的每个成员调用此函数。
JSON.stringify(obj[, replacer])将javascript对象转换为等价的JSON格式字符串;replacer可以是一个函数或者一个数组,用于对序列化的键值对进行特别处理。