android json 解析及简单例子
JSON 的定义:
一 种轻量级的数据交换格式,具有良好的可读和便于快速
编写的特性。业内主流技术为其提供了完整的解决方案(有
点类似于正则表达式 ,获得了当今大部分语言的 支持),
从而可以在不同平台间进行数据交换。JSON 采用兼容性很高
的文本格式,同时也具备类似于C 语言体系的行为.
JSON Vs XML
1.JSON 和XML 的数据可读性基本相同
2.JSON 和XML 同样拥有丰富的解析手段
3.JSON 相对于XML 来讲,数据的体积小
4.JSON 与JavaScript 的交互更加方便
5.JSON 对数据的描述性比XML 较差
6.JSON 的速度要远远快于XML
android2.3 提供的json 解析类
android 的json 解析部分都在包org.json 下,主要有以下几
个类:
JSONObject :可以看作是一个json 对象,这是系统中有关
JSON 定义的基本单元,其包含一对儿(Key/Value)数值。它对
外部(External: 应用toString()方法输出的数值)调用的响应
体现为一个标准的字符串(例如:{"JSON": "Hello, World"} ,
最外被大括号包裹,其中的Key 和Value 被冒号":"分隔)。
其对于内部(Internal)行为的操作格式略微,例如:初始化一
个JSONObject 实例,引用内部的put()方法添加数值:new
JSONObject().put("JSON", "Hello, World!") ,在Key 和Value 之
间是以逗号","分隔。Value 的类型包括:Boolean、JSONArray 、
JSONObject 、Number、String 或者默认值JSONObject.NULL
object 。
JSONStringer :json 文本构建类 ,根据官方的解释,这个
类可以帮助快速和便捷的创建JSON text 。其最大的优点在
于可以减少由于 格式的错误导致程序异常,引用这个类可
以自动严格按照JSON 语法规则(syntax rules )创建JSON
text 。每个JSONStringer 实体只能对应创建一个JSON text 。。
其最大的优点在于可以减少由于格式的错误导致程序异常,
引用这个类可以自动严格按照JSON 语法规则(syntax rules )
创建JSON text 。每个JSONStringer 实体只能对应创建一
个JSON text 。
JSONArray :它 代表一组有序的数值。将其转换为String
输出(toString)所表现的形式是用方括号包裹,数值以逗号”,”
分隔(例如: [value1,value2,value3],大家可以亲自利
用简短的代码更加直观的了解其格式)。这个类的内部同样
具有查询行为, get()和opt()两种方法都可以通过index
索引返回指定的数值,put()方法用来添加或者替换数值。同
样这个类的value 类型可以包括:Boolean、JSONArray、
JSONObject、Number、String 或者默认值
JSONObject.NULL object 。
JSONTokener :json 解析类
JSONException :json 中用到的异常
JSONObject, JSONArray 来构建json 文本
代码
1.// 假设现在要创建这样一个json 文本
2.// {
3.// "phone" : [,
"], // 数组
4.// "name" : "yuanzhifei89", // 字符
串
5.// "age" : 100, // 数值
6.// "address" : { "country" : "china
", "province" : "jiangsu" }, // 对象
7.// "married" : false // 布尔值
8.// }
9.
10. try {
11. // 首先最外层是{},是创建一个对象
12.