版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiao__jia__jia/article/details/85766257
JSON工具:gson (google) 、json-lib、fastJson (alibaba)
1. 准备工作:
pom依赖
javabean
单元测试类
pom依赖 :
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.4</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.44</version>
</dependency>
Student.java
class Student {
private int id;
private String name;
public Student(int id,String name ){
this.id = id;
this.name = name;
}
}
2、Gson
toJson(Object)
fromJson(String, Class)
TypeToken<T>
demo:
public void testgsonobj() {
Student aStudent = new Student(1, "小白");
//创建gson对象
Gson gson = new Gson();
String json = gson.toJson(aStudent);
System.out.println(json);
Student bStudent = gson.fromJson(json, Student.class);
System.out.println(bStudent);
}
public void testgsonlist(){
ArrayList<Student> list = new ArrayList<Student>();
list.add(new Student(1, "小红"));
list.add(new Student(1, "小黑"));
System.out.println(list);
Gson gson = new Gson();
String json = gson.toJson(list);
System.out.println(json);
ArrayList<Student> list2 = (ArrayList<Student>)gson.fromJson(json, (new TypeToken<List<Student>>(){}).getType());
System.out.print(list2);
}
3、Json Lib
JSONObject
JSONArray
fromObject(Object) //中间对旬 JSONObject
toString() //实例方法,返回json字符串
toBean (JSONObject,Class ) //返回对象
fromObject(Object) //中间对旬 JSONObject
toString() //实例方法,返回json字符串
toCollection(JSONArray, Class) //返回集合
demo
public void testjsonlibobj() {
Student aStudent = new Student(1, "小白");
//创建gson对象
JSONObject jsonObject = JSONObject.fromObject(aStudent);
String str = jsonObject.toString();
System.out.println(str);
Student b = (Student) JSONObject.toBean(jsonObject, Student.class );
System.out.println(b);
}
public void testgsonlist(){
ArrayList<Student> list = new ArrayList<Student>();
list.add(new Student(1, "小红"));
list.add(new Student(1, "小黑"));
System.out.println(list);
JSONObject jsonArray = JSONObject.fromObject(list);
System.out.println(jsonArray.toString());
ArrayList<Student> list2 = (ArrayList<Student>)JSONArray.toCollection(jsonArray, Student.class);
System.out.print(list2);
}
4. fastJson
JSON
toJSONString(Object)
parseObject(String, Class<T>)
parseArray(String, Class<T>)
demo
public void testfastjsonobj() {
Student aStudent = new Student(1, "小白");
String str = JSON.toJSONString(aStudent);
System.out.println(str);
Student bStudent = JSON.parseObject(str, Student.class);
System.out.println(bStudent);
}
public void testfastjonlist(){
ArrayList<Student> list = new ArrayList<Student>();
list.add(new Student(1, "小红"));
list.add(new Student(1, "小黑"));
System.out.println(list);
String str = JSON.toJSONString(list);
System.out.println(str);
ArrayList<Student> list2 = (ArrayList<Student>)JSON.parseArray(str, Student.class);
System.out.print(list2);
}