JSON入门教程:Json是什么?为什么使用Json?
程序员文章站
2022-06-14 08:19:47
json入门教程:json是什么?为什么使用json?
json是什么? json(javascript object notation)是指javascript 对象表示法,可...
json入门教程:json是什么?为什么使用json?
json是什么? json(javascript object notation)是指javascript 对象表示法,可以用来表示string、number、boolean、数组甚至对象等数据。 json类似xml,是存储和交换文本信息的语法。 json是轻量级的文本数据交换格式。 json使用javascript语法来描述数据对象,独立于语言和平台,适合于服务器与javascript客户端的交互。
为什么使用json?
对于 ajax 应用程序来说,json 比 xml 更快更易使用;
- 使用xml
1. 读取xml文档
2. 使用xml dom来循环遍历文档
3. 读取值并存储在变量中
- 使用json
1. 读取json字符串
2. 用eval( ) 处理json字符串
json示例
{ "people":[ {"name":"bill","age":"23",sex:"男"}, {"name":"phobe","age":"23",sex:"女"}, {"name":"geoge","age":"22",sex:"男"}, ] } //这个 people 对象是包含 3 个人记录(对象)的数组。
json的语法规则
花括号表示对象var object = {}; 方括号表示数组
var arr =[]; 属性名要用双引号包围起来
var student ={ "name":"tracy"} 对象和属性值之间用冒号隔开
var student ={ "name":"linda"} 多个属性由逗号分隔
var students = {"name": "judy","age":18} json数据的书写格式是:名称/值对
name":"helen"//等价于javascript语句 name = "helen
json怎么用?
把json文本转换成javascript对象从web服务器上读取json数据(作为文件或httprequest),将json数据转换为javascript对象,然后在网页中使用该数据。
由于json语法是javascript语法的子集,javascript函数eval()可用于将json文本转换成javascript对象。
var employeeinfo = '{ "employees" : [' + '{ "firstname":"bill" , "lastname":"gates" },' + '{ "firstname":"george" , "lastname":"bush" },' + '{ "firstname":"thomas" , "lastname":"carter" } ]}'; //注意两边的括号 var obj = eval("(" + employeeinfo + ")"); alert(obj.employees[i].firstname)//bill序列化与反序列化
来看一看廖老师怎么说:如果我们要在不同的语言之间传递对象,就必须把对象序列化为标准格式,比如xml,但更好的方法是序列化为json,因为json表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。json不仅是标准格式,并且比xml更快,而且可以直接在web页面中读取,非常方便。
简单理解就是对象序列化为二进制序列,才能在网络上传送,接收方则需要将二进制序列再恢复为对象。
//序列化类 public class personnel{ public int id {get;set;} public string name{get;set;} } //执行序列化与反序列化 private void fmmain_load(object sender, eventargs e) { personnel personnel = new personnel(); personnel.id = 1; personnel.name = "小仙女"; javascriptserializer jsonserializer = new javascriptserializer(); //执行序列化 需要引入system.web.script.serialization命名空间 string r1 = jsonserializer.serialize(personnel); //r1输出结果:{"id":1,"name":"小仙女"} //执行反序列化 personnel _personnel = jsonserializer.deserialize(r1); }
上一篇: PHPexcel导入 (带图片)
下一篇: 如何让你的产品软文与众不同