首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

Android解析JSON形式(一)服务器端生成JSON数据

2013-03-06 
Android解析JSON方式(一)服务器端生成JSON数据JSON数据式的定义:JSON的全称是:JavaScript Object Notation

Android解析JSON方式(一)服务器端生成JSON数据

JSON数据格式的定义:

        JSON的全称是:JavaScript Object Notation,是一种轻量级的数据交换格式。它构建于两种结构:

        1、"名称/值" 对的集合(a collection of name / value pairs)。不同的语言中,它被理解为对象(Object),记录(Record),结构(struct),字典(Dictionary),哈希表(HashTable),有键列表(Keyed list),或者关联数组(Associative array)。

        2、值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。


JSON数据格式的特点:

       JSON对象时一个无序的" '名称/值' 对"的集合,一个对象以“{”(左括号)开始, 以"}"(右括号)结束,每个"名称"后跟一个":"(冒号),名称/值 对之间使用","(逗号)分隔。

       如:

           {

                     "name":"jackson",

                     "age":100

            }

           Android解析JSON形式(一)服务器端生成JSON数据

          稍微复杂一点的情况,数组是值的有序集合,一个数组以“[”(左中括号)开始,以"]"(右中括号)结束。值之间使用","(逗号)分隔。

        如:

           {

                       "studengs":

                       [

                                         {"name": "jackson", "age": 100},

                                         {"name": "michael", "age": 51},

                       ]

           }

           Android解析JSON形式(一)服务器端生成JSON数据


首先,我们搭建一个服务器的工程:JsonProject这个项目,工程目录结构:

Android解析JSON形式(一)服务器端生成JSON数据

源代码:

Person.java

<servlet>    <description>This is the description of my J2EE component</description>    <display-name>This is the display name of my J2EE component</display-name>    <servlet-name>JsonServlet</servlet-name>    <servlet-class>com.json.servlet.JsonServlet</servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>JsonServlet</servlet-name>    <url-pattern>/servlet/JsonServlet</url-pattern>  </servlet-mapping>

我们通过浏览器

访问地址一:http://wulianghuan-pc:8080/JsonProject/servlet/JsonServlet?action_flag=person

输出以下结果:

{"persons":{"address":"上海黄浦区","id":1001,"name":"jack"}}


访问地址二:http://wulianghuan-pc:8080/JsonProject/servlet/JsonServlet?action_flag=persons

输出以下结果:

{"persons":[{"address":"上海黄浦区","id":1001,"name":"jack"},{"addrss":"上海闵行区","id":1002,"name":"rose"},{"address":"上海黄浦区","id":1003,"name":"mick"}]}


访问地址三:http://wulianghuan-pc:8080/JsonProject/servlet/JsonServlet?action_flag=listString

输出以下结果:

{"persons":["北京","上海","湖南"]}


访问地址四:http://wulianghuan-pc:8080/JsonProject/servlet/JsonServlet?action_flag=listMap

输出以下结果:

{"persons":[{"id":1001,"address":"北京","name":"jack"},{"id":1001,"address":"上海","name":"rose"}]}




热点排行