Android之Json数据解析
首先是介绍:
一、什么是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();
- }
- }