欢迎来到天天文库
浏览记录
ID:39574194
大小:107.97 KB
页数:10页
时间:2019-07-06
《使用JSON进行网络数据交换传输详细》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、使用JSON进行网络数据交换-Android2011年05月11日星期三15:04在开发客户端与服务端的应用当中,数据交换接口通常都是通过XML格式来进行数据交换的。近年来,随着AJAX技术的兴起,JSON作为一种轻量级的数据交换格式,以其易于阅读和编写的优点,也越来越多的被使用到各个项目中。在OPhoneSDK中,也提供了JSON的类库方便对JSON格式的数据进行处理。本文将快速讲解JSON格式,并通过代码示例演示如何分别在客户端和服务器端进行JSON格式数据的处理。什么是JSON JSON(JavaScriptObjectNotation)是一种
2、轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成,非常适合于服务器与客户端的交互。JSON采用与编程语言无关的文本格式,但是也使用了类C语言的习惯,这些特性使JSON成为理想的数据交换格式。和XML一样,JSON也是基于纯文本的数据格式。由于JSON天生是为JavaScript准备的,因此,JSON的数据格式非常简单,您可以用JSON传输一个简单的String,Number,Boolean,也可以传输一个数组,或者一个复杂的Object对象。 String,Number和Boolean用JSON表示非常简单。例如,用JSON表示一
3、个简单的字符串“abc”,其格式为:"abc"。 除了字符",,/和一些控制符(b,f,,r,t)需要编码外,其他Unicode字符可以直接输出。下图是一个String的完整表示结构:图1.String的完整表示结构 一个Number可以根据整型或浮点数表示如下: 图2.Number的表示结构 这与绝大多数编程语言的表示方法一致,例如: 12345(整数)-3.9e10(浮点数) Boolean类型表示为true或false。此外,JavaScript中的null被表示为null,注意,true、fal
4、se和null都没有双引号,否则将被视为一个String。 JSON还可以表示一个数组对象,使用[]包含所有元素,每个元素用逗号分隔,元素可以是任意的Value,例如,以下数组包含了一个String,Number,Boolean和一个null: Object对象在JSON中是用{}包含一系列无序的Key-Value键值对表示的,实际上此处的Object相当于Java中的Map,而不是Java的Class。注意Key只能用String表示。例如,一个Address对象包含如下Key-Value:city:Beijing
5、street:ChaoyangRoad postcode:100025(整数)用JSON表示如下:{"city":"Beijing","street":"ChaoyangRoad","postcode":100025} {"city":"Beijing","street":"ChaoyangRoad","postcode":100025} 其中Value也可以是另一个Object或者数组,因此,复杂的Object可以嵌套表示,例如,一个Person对象包含name和address对象,可以表示如下: {"name":"Michael","address
6、": {"city":"Beijing","street":"ChaoyangRoad","postcode":100025} } {"name":"Michael","address": {"city":"Beijing","street":"ChaoyangRoad","postcode":100025}} 一个实际例子 接下来,我会通过一个例子来详细说明OPhone客户端程序如何访问服务端的接口程序读取用户列表数据,并在模拟器上显示用户列表数据。 1、服务端接口程序 首先,我们创建一个名为User的JavaBean作为用户对象类,用来
7、保存演示数据。publicclassUser{ privateintid; privateStringname; privateStringemail; privateStringgender; publicintgetId(){ returnid; } publicvoidsetId(intid){ this.id=id; } publicStringgetName(){
8、 returnnam
此文档下载收益归作者所有