json进行数据传输

上传人:简****9 文档编号:107903292 上传时间:2019-10-21 格式:PDF 页数:19 大小:263.50KB
返回 下载 相关 举报
json进行数据传输_第1页
第1页 / 共19页
json进行数据传输_第2页
第2页 / 共19页
json进行数据传输_第3页
第3页 / 共19页
json进行数据传输_第4页
第4页 / 共19页
json进行数据传输_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《json进行数据传输》由会员分享,可在线阅读,更多相关《json进行数据传输(19页珍藏版)》请在金锄头文库上搜索。

1、使用 JSON 进行数据传输 2011-01-28 03:18:04| 分类: 编程知识 | 标签:js字号:大中中小 订阅 一、选择的意义一、选择的意义 在异步应用程序中发送和接收信息时,可以选择以纯文本和XML作为数据格式。为了更好的使用 ajax,我们将学习一种有用的数据格式 JavaScript Object Notation(JSON),以及如何使用它更轻松地 在应用程序中移动数据和对象。 JSON 是一种简单的数据交换格式, 在某些方面,它的作用与 XML 非常类似, 但比 XML 更为简单,JSON 的语法简化了数据交换的难度,而且提供了一种伪对象的方式。 Java 的对象Jav

2、aScript 对象(json 数据格式) 二、二、JSONJSON基础基础 简单地说,JSON可以将JavaScript对象中表示的一组数据转换为字符串(伪对象),然后就可 以在函数之间轻松地传递这个字符串, 或者在异步应用程序中将字符串从Web客户端传递给服务器端程 序。这个字符串看起来有点儿古怪(稍后会看到几个示例),但是 JavaScript很容易解释它,而 且JSON可以表示比名称/值对更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的 简单列表。 关于关于JSONJSON对象对象 1 1、使用、使用 JavaScriptJavaScript 语法创建对象语法创建对象

3、/定义一个函数,作为构造函数 fucntion person(name,sex) this.name=name; this.sex=sex; /创建一个实例 var p=new Person(张三,男); /输出 Person 实例 alert(p.name); 注意:通过该方式创建的对象是一般的脚本对象 2 2、从、从 JavaScript1.2JavaScript1.2 开始创建对象有了一种更快捷的语法开始创建对象有了一种更快捷的语法(Json(Json 的语法的语法) ),如下: var obj=name:“张三“,“sex“:男; alert(obj.sex); 关于数组关于数组 1

4、1、早期的、早期的 JavaScriptJavaScript 数组数组 var arr=new Array(); arr0=a; arr1=bbc 我们也可以通过如下方式创建数组 var arr=new Array(a,bbc); 2 2、使用、使用 JSONJSON 语法,则可以通过如下方式创建数组语法,则可以通过如下方式创建数组 var arr=a,bbc; 简单简单JSONJSON示例示例 按照最简单的形式,可以用下面这样的JSON表示名称/值对: “firstName“:“Brett“ 这个示例非常基本,而且实际上比等效的纯文本名称/值对占用更多的空间: firstName=Brett

5、 但是,当将多个名称/值对串在一起时,JSON就会体现出它的价值了。首先,可以创建包含多个名称/值 对的记录,比如: “firstName“:“firstName“: “Brett“,“Brett“, “lastName“:“McLaughlin“,“lastName“:“McLaughlin“, “email“:“email“: “brettnewI “brettnewI “ 从语法方面来看,这与名称/值对相比并没有很大的优势,但是在这种情况下JSON更容易使用,而 且可读性更好。例如,它明确地表示以上三个值都是同一记录的一部分;花括号使这些值有了某种联系。 值的数组值的数组 当需要表示一组

6、值时,JSON不但能够提高可读性,而且可以减少复杂性。例如,假设您希望表示一 个人名列表。在XML中,需要许多开始标记和结束标记;如果使用典型的名称/值对(就像在本系列前 面文章中看到的那种名称/值对),那么必须建立一种专有的数据格式,或者将键名称修改 为person1-firstName这样的形式。 如果使用JSON,就只需将多个带花括号的记录分组在一起: “people“: “firstName“: “Brett“, “lastName“:“McLaughlin“, “email“: “brettnewI “ , “firstName“: “Jason“, “lastName“:“Hunt

7、er“, “email“: “jason “ , “firstName“: “Elliotte“, “lastName“:“Harold“, “email“: “elharo “ 这不难理解。在这个示例中,只有一个名为people的变量,值是包含三个条目的数组,每个条 目是一个人的记录,其中包含名、姓和电子邮件地址。上面的示例演示如何用括号将记录组合成一个值。 当然,可以使用相同的语法表示多个值(每个值包含多个记录): “programmers“: “firstName“: “Brett“, “lastName“:“McLaughlin“, “email“: “brettnewI “ , “f

8、irstName“: “Jason“, “lastName“:“Hunter“, “email“: “jason “ , “firstName“: “Elliotte“, “lastName“:“Harold“, “email“: “elharo “ , “authors“: “firstName“: “Isaac“, “lastName“: “Asimov“, “genre“: “science fiction“ , “firstName“: “Tad“, “lastName“: “Williams“, “genre“: “fantasy“ , “firstName“: “Frank“, “

9、lastName“: “Peretti“, “genre“: “christian fiction“ , “musicians“: “firstName“: “Eric“, “lastName“: “Clapton“, “instrument“: “guitar“ , “firstName“: “Sergei“, “lastName“: “Rachmaninoff“, “instrument“: “piano“ 这里最值得注意的是,能够表示多个值,每个值进而包含多个值。但是还应该注意,在不同的主条目 (programmers、authors和 musicians)之间,记录中实际的名称/值对可

10、以不一样。JSON是完全动态 的,允许在JSON结构的中间改变表示数据的方式。甚至可以声明如下的 Json 对象 var obj2=people:name:张三,sex:“男“ alert(obj2.people.name); 在处理JSON格式的数据时,没有需要遵守的预定义的约束。所以,在同样的数据结构中,可以改变 表示数据的方式,甚至可以以不同方式表示同一事物。 deptid:1,deptname:开发部,deptnum:2,deptdesc:开发相关, emps:empid:1,empname:张三,sex:男,age:20,empid:2,empname:张三 ,sex:男,age:2

11、0,empid:3,empname:张三,sex:男,age:20 三、在三、在 JavaScriptJavaScript 中使用中使用 JSONJSON 掌握了JSON格式之后,在JavaScript中使用它就很简单了。JSON是JavaScript原生格 式,这意味着在JavaScript中处理JSON 数据不需要任何特殊的API或工具包。 将将 JSONJSON数据赋值给变量数据赋值给变量 例如,可以创建一个新的JavaScript变量,然后将JSON格式的数据字符串直接赋值给它: varvar peoplepeople = = “programmers“:“programmers“:

12、“firstName“:“firstName“: “Brett“,“Brett“, “lastName“:“McLaughlin“,“lastName“:“McLaughlin“, “email“:“email“: “brettnewI “brettnewI “ , “firstName“:“firstName“: “Jason“,“Jason“, “lastName“:“Hunter“,“lastName“:“Hunter“, “email“:“email“: “jason “jason “ , “firstName“:“firstName“: “Elliotte“,“Elliotte“,

13、“lastName“:“Harold“,“lastName“:“Harold“, “email“:“email“: “elharo “elharo “ , “authors“:“authors“: “firstName“:“firstName“: “Isaac“,“Isaac“, “lastName“:“lastName“: “Asimov“,“Asimov“, “genre“:“genre“: “science“science fiction“fiction“ , “firstName“:“firstName“: “Tad“,“Tad“, “lastName“:“lastName“: “Wi

14、lliams“,“Williams“, “genre“:“genre“: “fantasy“fantasy“ , “firstName“:“firstName“: “Frank“,“Frank“, “lastName“:“lastName“: “Peretti“,“Peretti“, “genre“:“genre“: “christian“christian fiction“fiction“ , “musicians“:“musicians“: “firstName“:“firstName“: “Eric“,“Eric“, “lastName“:“lastName“: “Clapton“,“C

15、lapton“, “instrument“:“instrument“: “guitar“guitar“ , “firstName“:“firstName“: “Sergei“,“Sergei“, “lastName“:“lastName“: “Rachmaninoff“,“Rachmaninoff“, “instrument“:“instrument“: “piano“piano“ 这非常简单;现在people包含前面看到的JSON格式的数据。但是,这还不够,因为访问数 据的方式似乎还不明显。 访问数据访问数据 尽管看起来不明显,但是上面的长字符串实际上只是一个数组;将这个数组放进JavaScript变量 之后,就可以很轻松地访问它。实际上,只需用点号表示法来表示数组元素。所以,要想访 问programmers列表的第一个条目的姓氏,只需在JavaScript中使用下面这样的代码: people.programmers0.lastName; 注意,数组索引是从零开始的。所以,这行代码首先访问people变量中的数据;然后移动到称 为programmers的条目,再移动到第一个记录(0);最后,访问lastName键的值。结 果是字符串值“McLaughlin”。 下面是使用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号