JSON 语法
1.JSON是一个序列化的对象或数组。
2.值可以是对象、数组、数字、字符串或者三个字面值(false、null、true)中的一个。值中的字面值中的英文必须使用小写。
3.对象由花括号括起来的逗号分割的成员构成,成员是字符串键和上文所述的值由逗号分割的键值对组成,如:
{"name": "yang","age": "18"}
4.数组是由方括号括起来的一组值构成,如:
[3, 1, 4, 1, 5, 9, 2, 6]
5.字符串与C或者Java的字符串非常相似。字符串是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。
6.数字也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。
JSON 与 JS 对象的关系
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。如:
//这是一个对象,注意键名也是可以使用引号包裹的
var obj = {name: 'yang', sex: '男', age: '18'}
//这是一个 JSON 字符串,本质是一个字符串
var obj = {"name":"yang","sex":"男","age":"18"}
JSON 和 JS 对象互转
1.JSON.parse() 方法:将数据转换为 JavaScript 对象。
注意转js对象需要在花括号外面加单引号。
console.log(JSON.parse('{"name": "yang","age": "18"}'))
//输出 { name: 'yang', age: '18' }
2.使用 JSON.stringify() 方法:将 JavaScript 值转换为 JSON 字符串。
console.log(JSON.stringify({name: 'yang', sex: '男', age: '18'}))
//输出 {"name":"yang","sex":"男","age":"18"}