首先是介绍:
一、什么是json数据
1、json:javascript object Notation的简称
2、json数据是一系列键值对的集合;
3、json已经被大多数开发人员,在网络数据的传输当中应用非常广泛;
4、json相对于xml来讲解析稍微方便一些
5、它的基本数据格式是:
{
"name":"Michael",
"andress":
{
"city":"Beijing",
"Street":"Chaoyang Road",
"prostcode":100024
}
}
Android之Json数据解析源码下载地址
具体下载目录在 /2012年资料/2月/29日/Android之Json数据解析/
二、json数据跟xml的比较
1、json和xml的数据可读性基本相同;
2、json和xml同样拥有丰富的解析手段;
3、json相对于xml来讲,数据体积小;
4、json与javascrpit的交互更加方便;
5、json对数据的描述性相对较差;
三、android中的3种解析方式的代码如下:
首先要把jar包拷到项目中:
http://code.google.com/p/google-gson/
第一种方式解析:private String jsonData1="[{\"name\":\"renhaili\",\"age\":20},{\"name\":\"zhouxiaodong\",\"age\":21}]";这种数据的解析方式:
publicvoidparseJson(String jsonData) {
// 如果需要从解析json数据,首先要生成一个jsonReader对象
JsonReader reader =newJsonReader(newStringReader(jsonData));
try{
// 现在开始解析
reader.beginArray();// 开始解析数组
while(reader.hasNext()) {
reader.beginObject();// 开始解析对象
while(reader.hasNext()) {
String tagName = reader.nextName();
if(tagName.equals("name")) {
System.out.println(reader.nextString());
}elseif(tagName.equals("age")) {
System.out.println(reader.nextInt());
}
}
reader.endObject();// 结束对象解析
}
reader.endArray();// 结束数组解析
}catch(IOException e) {
e.printStackTrace();
}
}