JSON简介
1,json(JavaScript Object Notation)是一种轻量级的文本数据交换格式而非编程语言,
其语法只支持字符串,数值,布尔值及null以及在次基础上的对象和数组。
如下面是json数组
<script>var JSONObject = {"name" = "berg.lee","age" = 18,"phone" = "123456-666"};alert(JSONObject.name);
</script>
2,与xml相同之处
a,是纯文本
b,可读性高
c,有多层结构(值里面有值)
d,可通过js解析
3,与xml不同之处
a,没有结束标签
b,更短
c,读写的速度更快
d,能够使用js的eval()函数解析
e,使用数组
f,不使用保留字(指在高级语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用。)
4,为何要用json
在ajax应用程序中,因为它比xml更快更易用
5,使用json
用json读取字符串
eval()处理json字符串
JSON语法
1,{}里面代表对象
2,每个数据用逗号隔开
3,[]可以表示数组
4,实例
"book" : {[{"author": "lee", "bookName": "《gorgeous》"},{"author": "point", "bookName": "《life is awsome》"}]
}
//{"firstName": "point", "lastName": "lee"} //一个json对象
//{"judgeZero": 0, "judgeNull": null, "judgeOstensible": false}
JSON的使用
用eval()函数把json对象转换为js对象
1,JSON的常用场景是后台应用程序将响应数据封装成json格式,传到前台页面后,
将json格式转换成js对象,然后再网页中使用.
2,用字符串作为demo,进行转换
var txt = json字符串
var obj = eval("(" + txt + “)”);
alert(obj.name[0].content);
eval函数不安全,它可以编译其它js
3,用json.parse() 把字符串转成json
<script>// 创建json语法的js字符串var txt = '{"book": [' + '{"id":1, "bookName": "《Java并发编程》", "author": "qianQian"},' + '{"id":2, "bookName": "《jvm全解》", "author": "point"}' +']}';// eval函数里面要打引号, 不然报错var obj = eval("(" + txt + ")");// parse函数obj = JSON.parse(txt);// alert(obj.book[0].author);</script>
<script>//嵌套json对象var obj = {"book": "《abc》","author": "plusLee","content": {"a": "b","b": "c","d": "e"}}alert(obj.content["a"]);// bfunction showJson() {var user = {"userName": "plusLee","age": 18,"info": {"phone": "123","tel": "666"},"address": [{"city": "beiJing", "postCode": "666"},{"city": "shangHai", "postCode": "233"}] }alert(user.address[0].city);}showJson();//beiJing</script>
JSON检验工具
json检验工具