Json是一种类似于XML的通用数据交换格式,比XML传输效率高.更利于网络传输数据。这里说一些使用Gosn类来处理json数据。Gson比传统的json处理方式更加快速,Gson开源的。如果有兴趣的也可以了解一下阿里开发的fastgson,速度也非常快。
使用Gosn 处理json非常简单。第一我们首先创建一个JavaBean类
(1)创建User.java
public class User { public User(String name, int age) { this.name = name; this.age = age; } private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
(2)解析如下json格式数据:
String jsonData = "[{\"name\":\"john\",\"age\":18},{\"name\":\"Jason\",\"age\":16}]"; //解析类型 Type listType = new TypeToken<LinkedList<User>>(){}.getType(); //创建Gson实例,Gson gson = new Gson();也行 Gson gson = GsonFactory.getGsonInstance(); //解析Json数据 LinkedList<User> users = gson.fromJson(jsonData, listType); //迭代输出 for (Iterator iterator = users.iterator(); iterator.hasNext();) { User user = (User) iterator.next(); System.out.println(user.getName()); System.out.println(user.getAge()); }
(3)把JavaBean利用Gson生成Json数据
List<User> userList=new LinkedList<User>();
User user1=new User ("张三",20); userList.add(user1);
User user2=new User ("John",45); userList.add(user2); //创建Gson实例 Gson gson=new Gson(); //生成Json格式数据 String jsonData=gson.toJson(userList) System.out.println(jsonData); //输出结果是: [{"name":"张三","age":20},{"name":"John","age":45}]
这里主要用到Gson两个方法:
1.解析json的方法 fromJson
2.生成json的方法 toJson