字面量是代码中表述数据的手段,在js中基于字面量表示的基础之上衍生出了演变语法JSON(只是数据的表述手段,不是数据的存储手段)
JSON(JavaScript Object Notation) 是一种通过普通字符串描述数据的手段,用程语言中字面量的概念,语法上跟 JavaScript 的字面量非常像。
注意:
- JSON 中属性名称必须用双引号包裹,js中的字面量可以不用双引号包裹(
var obj = {age:16}
) - JSON 中表述字符串必须使用双引号,js中的字符串可以用双引号也可以用单引号
- JSON 中不能有单行或多行注释
- JSON 没有 undefined 这个值
数据类型:
(没有undefined)
- null
null
- string
"hello world"
- number
666
- boolean
true
- object
{
"name": "xz",
"age": 15,
"gender": true,
"girl_friend": null
}
- array
["xz","bingshi","ziyuandun"]
解析JSON字符串
JSON.parse(str)
会得到一个字符串
这是在console的测试,注意str后面的不是单引号,是反引号(输入法切换至美式键盘,然后按1旁边的键 `),这里的反引字符串相当于php的双引字符串。(反引号字符串的另一个优点是允许多行文本)
数据转成JSON字符串: JSON.stringify(arr)