JSON基础
什么是JSON
概论
- JSON(Java Script Object Notation(记号,标记))是一种轻量级的数据交换语言,以文本字符串为基础,且易于让人阅读
NT:XML就是一个重量级的数据交换语言 - JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包
- JSON采用完全独立于任何程序语言的文本格式,使JSON成为理想的数据交换语言
在服务器端, AJAX 是一门与服务端语言无关的技术,可使用服务器端任何语言。
AJAX从服务器端接收数据的时候,那些数据必须以浏览器能够理解的格式来发送。服务器端的编程语言只能以如下 3 种格式返回数据:
HTML、XML 、JSON
JSON数据格式 ##
对象是一个无序的“‘名称:值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’对”之间使用“,”(逗号)分隔。
1) 映射用冒号(“:”)表示。名称:值
2) 并列的数据之间用逗号(“,”)分隔。名称1:值1,名称2:值2
3) 映射的集合(对象)用大括号(“{}”)表示。{名称1:值1,名称2:值2}
4) 并列数据的集合(数组)用方括号(“[]”)表示。 example:[ {名称1:值,名称2:值2}, {名称1:值,名称2:值2} ]
5) 元素值可具有的类型:string, number, object, array, true, false, null
各种利用JSON封装的对象
example1:
var p = {id:1, name:'小明', age:18};
document.write(p.id);
example2:
var persons = [{id:1, name:'小明', age:18}, {id:2, name:'小王', age:18}, {id:3, name:'小张', age:18}];
document.write(persons[1].id);
example3:
var person = {"province":[{city:"BeiJing"},{city:"ShangHai"},{city:"TengZhou"}]};
document.write(person.province[0].city);
example4:
var person = {"city":["BeiJing","ShangHai","TengZhou"]};
document.write(person.city[0]);
example5:
var p = {
id:1,
name:"哈哈",
tel:[
{
no:"135",
type:"中移动"
},
{
no:"133",
type:"中联通"
}
],
show:function(username){
alert("你的姓名是:" + p.name+":"+username);
},
isSingle:false
};
p.show("Susion");
JSON的作用
简化创建自定义对象的方式
NT:JSON就是用JS语法来书写,所以必须放在
在AJAX中,作为数据载体之一
注意:JS可以直接解析JSON格式的文本,前提是:该JSON必须采用JS格式书写的才行,如果该JSON是采用Java格式写的,必须使用eval()函数转换后,方可被JS解析,该eval(“”)函数接收一个字符串格式的内容。
解析JSON
…….
JSON小结
(1)在客户端(特指PC浏览器),直接使用JavaScript语言解析JSON,无需第三方jar包
(2)本质上,就是一个文本,只是该文本有特定的书写格式
(3)可以使用第三方工具,将JavaBean对象或者List/Set/Map对象转成JSON
(4)优点:JSON与XML很相似,但是它更加轻巧,服务器只需发送一个html普通字符串,不用发送复杂的xml格式文档了
(5)缺点:语法过于严谨,初学者可能觉得代码不易读,写错一点都不行
(6)JSON本质上,就是用JS语法写的特殊文本记号,用JS可以直接解析
NT:博文参考传智博客培训笔记