前言
手机应用现在都已经实现联网功能,在移动网络高效的传输数据是每个应用必备的功能。目前绝大多数的服务器交换数据类型都使用Json格式,它相对于XML等其他格式占用的带宽更少,而且支持各种嵌套实现复杂的数据格式。现在来使用Google提供的Gson框架实现Json数据的解析操作。
对象转Json
使用Gson只需要简单的创建一个Gson对象,将普通的对象转换成Json格式的字符串只需要调用Gson对象的toJson方法。
首先定义一个简单的JavaBean对象User,下面只有简单的属性定义,省略了那些读取和设置方法。
public class User {
private String id;
private String name;
private int age;
private int isAdult = -1;
public User() {
}
public User(String id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
...
// 各种getter/setter
@Override
public String toString() {
return "User{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", age=" + age +
", isAdult=" + isAdult +
'}';
}
}
使用Gson对象将User对象转换成json字符串。
Gson gson = new Gson();
User user = new User("1000", "zhangshan", 20);
String jsonStr = gson.toJson(user);
// 结果
{
"id":"1000","name":"zhangshan","userAge":20,"isAdult":-1}
结果很简单就是一个Json对象,里面包含了所有定义函数的值。
在来把List类型的User转换成一个Json字符串。
Gson gson = new Gson();
User user = new User("1000", "zhangshan", 20);
User user2 = new User("2000", "lisi", 30);
User user3 = new User("3000", "wangwu", 25);
List<User> list = new ArrayList<>();
list.add(user);
list.add(user2);
list.add(user3);
String jsonStr = gson.toJson(list);
System.out.println(jsonStr);
// 结果
[{
"id":"