标签:style blog http ar os 使用 sp java on
本文是我在学图灵机器人的时候发现的一篇文章。我将作者的文章搬过来,并修改了一些自己的东西:
原文链接:http://www.cnblogs.com/lichenwei/p/3987429.html
Gson介绍:
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。实体类:
package sn.dolp;
public class MyJson {
private int id;
private String name;
private int age;
public MyJson(int id, String name, int age) {
super();
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}
@Override
public String toString() {
return "MyJson [age=" + age + ", id=" + id + ", name=" + name + "]";
}
}
测试类:
package sn.dolp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
public class MyGson {
/**
* @param args
*/
public static void main(String[] args) {
//普通对象转换成json
MyJson student1=new MyJson(1, "tuzi", 22);
Gson gson=new Gson();//实例化一个Gson对象
String info1=gson.toJson(student1);
System.out.println("普通对象转换成json:"+info1);
//json反序列化(info1)
MyJson student2=gson.fromJson(info1, MyJson.class);
System.out.println("json字符串反序列化:"+student2.toString());
System.out.println();
//list集合(Student)对象转换成json
List<MyJson> list=new ArrayList<MyJson>();
MyJson student3=new MyJson(3, "xiaoming", 22);
MyJson student4=new MyJson(4, "xiaofang", 22);
list.add(student3);
list.add(student4);
String info2=gson.toJson(list);
System.out.println("list集合(Student)对象转换成json:"+info2);
//json反序列化(info2)
List<MyJson> students=gson.fromJson(info2,new TypeToken<List<MyJson>>(){}.getType());//TypeToken是Google提供的一个解析Json数据的类库中一个类(任意类型)
System.out.println("json字符串反序列化:"+students.toString());
System.out.println();
//list集合(Map)对象转换成json
List<Map<String,Object>> list2=new ArrayList<Map<String,Object>>();
Map<String,Object> map1=new HashMap<String, Object>();
map1.put("id", 5);
map1.put("name", "小白");
map1.put("age", 11);
Map<String,Object> map2=new HashMap<String, Object>();
map2.put("id", 5);
map2.put("name", "小黑");
map2.put("age", 13);
list2.add(map1);
list2.add(map2);
String info3=gson.toJson(list2);
System.out.println("list集合(Map)对象转换成json:"+info3.toString());
//json反序列化(info2)
List<Map<String,Object>> list4=gson.fromJson(info3, new TypeToken<List<Map<String,Object>>>(){}.getType());
System.out.println("json字符串反序列化:"+list4.toString());
}
}
测试效果:
标签:style blog http ar os 使用 sp java on
原文地址:http://blog.csdn.net/qingdujun/article/details/41794135