一、什么是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}]";这种数据的解析方式:
public void parseJson(String jsonData) { // 如果需要从解析json数据,首先要生成一个jsonReader对象 JsonReader reader = new JsonReader(new StringReader(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()); } else if (tagName.equals("age")) { System.out.println(reader.nextInt()); } } reader.endObject();// 结束对象解析 } reader.endArray();// 结束数组解析 } catch (IOException e) { e.printStackTrace(); } }