JavaScript异步Ajax与json总结
JSON简介
JSON:JavaScript对象表示法(JavaScript Object Notation)
但json与js为两门不同的语言;
Josn中的对象,类似于js中的对象,但也有区别,在js中,键值对的情况下,属性名可以加上双引号,
也可以不加双引号,但在josn中,属性名必须加上双引号;
JSON是存储和交换文本信息的语法:
1.JSON是轻量级的文本数据交换格式
2.JSON独立于语言和平台
3.JSON具有自我描述性,更容易理解。
类似于xml,比XML更小、更快、更易解析
(XML:指可扩展标记语言。XML被设计用来传输和存储数据。)
1.1 JSON语法
JSON语法是JavaScript对象表示语法的子集
1.数据在名称/值对中(数据在键值对中)
2.数据由逗号分隔
3.花括号保存对象({})
4.方括号保存数组([])
JSON值可以是:
数字(整数或浮点数)
字符串(在双引号中)
布尔值(true或false)
数组(在方括号中)
对象(在花括号中),只是自定义对象;
null
对象里面,可继续嵌套对象;
JSON对象与JS对象有2个不同的地方:
1.没有声明变量(JSON中没有变量的概念)
2.末尾没有分号(因为这不是JavaScript语句,所以不需要分号),但在js中,则要分号;
例如: //为JS中的数组
var book = [23,
“hello”, true];
//为JSON数组(直接在方括号中书写则可,数组可包含多个对象)
2. [23, "hello", true]
将JavaScript对象转为json对象
解析与序列化
JSON对象有两个方法:
1.stringify():将JS对象序列化为JSON字符串
2. parse() [pɑ:z] :将JSON字符串解析为原生的JS值
1. var str
= JSON.stringify(obj); //将JS对象序列化为JSON字符串
2. var
obj1 = JSON.parse(jsonstr); //将JSON字符串解析为原生的JS对象
例:
注意:虽然obj与obj1具有相同的属性,但它们是两个独立的、没有任何关系的对象
Aj