Android学习笔记 - JSON篇

来源:互联网 发布:北航gpa算法 编辑:程序博客网 时间:2024/05/14 20:08

1.什么是JSON
 1.Javascript Object Notation
 2.JSON数据是一系列键值对的集合
 3.JSON已经被大多数开发人员接受,在网络当中传输数据中应用非常广泛
 4.JSON相对于XML来讲解析稍微简单一些

 

2.JSON与XML
 1.JSON和XML的数据可读性基本相同
 2.JSON和XML同样拥有丰富的解析手段
 3.JSON相对于XML来讲,数据体积小
 4.JSON与Javascript的交互更方便
 5.JSON对数据的描述性相对较差
 
3.JOSN数据格式

[{"Name":"dier","Address":{"City":"Shantou","Postcode":"515000"}},{"Name":"dier","Address":{"City":"Shantou","Postcode":"515000"}}]

4.使用Gson解析JSON数据
 官方网站:
http://code.google.com/p/google-gson/
 
 1.在项目中新建libs目录
 2.将gson-1.6.jar包,拷贝到项目中的libs目录
 3.在包上面右键 - Build Path - Add Build Path
 4.JSON解析方法
 [{"name":"dier","age":"30"},{"name":"leeq","age":"23"}]
 

 第一种解析方式:流水式解析

public void parseJson(string data){JsonReader reader = new JsonReader(new StringReader(data));reader.beginArray();while(reader.hasNext()){reader.beginObject();while(reader.hasNext()){String tagName = reader.nextName();if(tagName.equals("name")){System.out.println("name is " + reader.nextString());}else if(tagName.equals("age")){System.out.println("age is " + reader.nextString());}}reader.endObject();}reader.endArray();}


 第二种解析方式:对象解析

public class User{private String name;private int age;//get set get set 省略}Gson gson = new Gson();User user = gson.fromJson(data, User.class);Type listType = new TypeToken<LinkedList<User>>(){}.getType();Gson gson = new Gson();LinkedList<User> users = gson.fromJson(data, listType);for(Iterator iterator = users.iterator(); iterator.hasNext();)User user = (User)iterator.next();System.out.printLn(user.getName() + user.getAge());}


 

 

原创粉丝点击