Android网络数据JSON解析

Android网络数据JSON解析

ID:43706535

大小:185.92 KB

页数:32页

时间:2019-10-13

Android网络数据JSON解析_第1页
Android网络数据JSON解析_第2页
Android网络数据JSON解析_第3页
Android网络数据JSON解析_第4页
Android网络数据JSON解析_第5页
资源描述:

《Android网络数据JSON解析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Android网络数据JSON解析使用总结一.JSON基础知识(一)什么是jsonJSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLanguage,StandardECMA2623rdEdition-December1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。这些特

2、性使JSON成为理想的数据交换语言。(二)JSON建构于两种结构1・“名称/值"对的集合(Acollectionofname/valuepairs)o不同的语言中,它被理解为对象(object),哈希表(hashtable),有键列表(keyedlist),或者关联数组(associativearray)等等。2•值的有序列表(Anorderedlistofvalues)。在大部分语言中,它被理解为数组(array)。这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构

3、的编程语言之间交换成为可能。(一)JSON形式1•对象是一个无序的“'名称/值'对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“'名称/值'对”之间使用“,”(逗号)分隔。2•数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。3.值(value)可以是双引号括起来的字符串(string).数值(number)>true、false>null>对象(object)或者数组(array)。这些结构可以嵌套

4、。4.几个例子(1)例子:Array里面包含对象(object)[{〃id〃:l,〃name〃:〃小猪〃,“age”:22},{〃id〃:2,〃name〃:〃小猫〃,“age”:23},]Array里面的对象数据是有序的(2)例子:对象(object)中可以包含Array一个对象包含1个数组,2个子对象{"root":[{〃id〃:〃001〃,〃name〃:〃小猪〃},{"id〃:〃002〃,"name〃:〃小猫〃},{〃id〃:〃003〃,"name〃:〃小狗〃}],〃total〃:3,"success":true}其中这

5、里的root对应的值是数组数据,total对应的值是一个int类型数据,success对应的是一个布尔类型数据;其中root对应的值里面还有很多数据。(3)以对象嵌套子对象,子对象再嵌套数组{"calendar":{^calendarlist":[{〃id〃:〃001〃,〃name〃:〃小猪〃},{〃id〃:〃002〃,"name〃:〃小猫〃}]}}这里的数据最外层只有一个键值对:calendar对应对象valuel,valuel里面也是只有一个键值对:calendarlist对应数组数据ArrayValue,ArrayVa

6、lue里面又两个有序对象,这两个有序对象里面都有两个无序的数据。(四)Android中JSON类在Android中包含四个与JS0N相关的类和一个Exceptions:分別是JSONArray、JSONObject、JS0NStringer>JS0NTokener>JSONException;下面分別进行介绍:(1)JSONObject:这是系统中有关JSON定义的基本单元,其包含一对儿(Key/Value)数值。它对外部(External:应用toStringO方法输出的数值)调用的响应体现为一个标准的字符串(例女口:{“

7、JSON”:“Hello,World”},最外被大括号包裹,其中的Key和Value被冒号”:”分隔)。其对于内部(Interna1)行为的操作格式略微,例如:初始化一个JSONObject实例,引用内部的put()方法添加数值:newJSONObject().put(“JSON”,“Hello,World!”),在Key和Value之间是以逗号”,”分隔。Value的类型包括:Boolean、JSONArray.JSONObject.Number>String或者默认值JSONObject.NULLobjecto有两个不同

8、的取值方法:get():在确定数值存在的条件下使用,否则当无法检索到相关Key时,将会抛出一个Exception信息。opt():这个方法相对比较灵活,当无法获取所指定数值时,将会返回一个默认数值,并不会抛出异常。所以我们使用opt的方法来取值。(2)JSONArray:它代表一组有序的数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。