使用谷歌的Gson
进行字符串
和json
对象之间的转换,是很方便的,本文讲解如何使用Gson
将json格式的字符串
转换为json对象
1、先创建实体类
package com.che.pri.bean;
public class User {
private String name;
private String code;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
@Override
public String toString() {
return "User [name=" + name + ", code=" + code + "]";
}
}
2、进行list和Json之间的转换
package com.che.pri.json;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import com.che.pri.bean.User;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
public class ListToJson {
public static void main(String[] args) {
List<User> list = new ArrayList<User>();
User user1 = new User();
user1.setCode("001");
user1.setName("李逵");
list.add(user1);
User user2 = new User();
user2.setCode("001");
user2.setName("宋江");
list.add(user2);
User user3 = new User();
user3.setCode("001");
user3.setName("张飞");
list.add(user3);
User user4 = new User();
user4.setCode("001");
user4.setName("赵云");
list.add(user4);
//以上代码创建list对象
//将list转换为json格式字符串
String json = new Gson().toJson(list);
System.out.println(json);
//[{"name":"李逵","code":"001"},{"name":"宋江","code":"001"},{"name":"张飞","code":"001"},{"name":"赵云","code":"001"}]
//将json格式字符串转换为List对象
Type type = new TypeToken<List<User>>() {}.getType();
List<User> userLists = new Gson().fromJson(json, type);
System.out.println(userLists);
//[User [name=李逵, code=001], User [name=宋江, code=001], User [name=张飞, code=001], User [name=赵云, code=001]]
}
}
3、总结
通过new Gson().toJson(list)
方法,将list对象
转换为Json格式字符串
通过Type type = new TypeToken<List<User>>() {}.getType();List<User> userLists = new Gson().fromJson(json, type)
方法将Json格式字符串
转换为List对象