什么是JSON?
JSON: JavaScript Object Notation
(JavaScript 对象表示法),JSON
是存储和交换文本信息的语法,独立于语言。类似 XML
。JSON
比 XML
更小、更快,更易解析,具有自我描述性,更易理解的特点。
JSON
就是一串字符串,只不过元素会使用特定的符号标注。
-
{} 双括号表示对象
-
[] 中括号表示数组
-
"" 双引号内是属性或值
-
:表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)
{"name": "Dcloud"}
可以理解为是一个包含name
为Dcloud
的对象;[{"name": "mui"},{"name": "html5+"}]
就表示包含两个对象的数组。
通过JavaScript
,您可以创建一个对象数组,并像这样进行赋值:
var employees = [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName": "Jones" }
];
可以像这样访问 JavaScript 对象数组中的第一项:employees[0].lastName;
返回的内容是:Doe
可以像这样修改数据:employees[0].firstName = "Jonatan";
JSON.stringify和JSON.parse
这里需要特别说明的是两个非常有用的方法:JSON.stringify和JSON.parse。我们可以通过JSON.stringify将json对象转成json字符串,方便用alert,console.log打印出来,可以方便的查看json对象内容。反之我们可以通过JSON.parse将json字符串转成json对象以便可以方便对json对象取值。例:
// 场景1
var data = {
name: 'yx',
age: 22
}
console.log(typeof data); // "object"
console.log(JSON.stringify(data)) // "{"name":"yx","age":22}"
// 场景2
var str = '{"name":"mn","age":22}';
console.log(typeof str) // "string"
console.log(JSON.parse(str).name) // "mn"