fastjson的依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.60</version>
</dependency>
数据初始化
String str1 = "[{\"id\":\"1\",\"name\":\"mark\",\"value\":10},{\"id\":\"2\",\"name\":\"mark\",\"value\":10}]";
String str2= "{\"id\":\"1\",\"name\":\"mark\",\"value\":\"10\"}";
User user = new User("1","mark",20,"");
User user1 = new User("2","lily",30,"");
List<User> users = new ArrayList<>();
users.add(user);
users.add(user1);
将对象或者List转换成json格式或者string
//转换对象
JSONObject jsonObject1 = JSONObject.parseObject(JSONObject.toJSONString(user));
//转换List
String jsonObject2 = JSON.toJSONString(users);
将json格式的转换成对象
//方法1
User userObject = JSON.parseObject(str2,new TypeReference<User>(){}) ;
//方法2
User userObject1= JSON.parseObject(str2,User.class);
将json格式转换成List对象
//方法1
List<User> userList = JSONObject.parseArray(JSON.toJSONString(users), User.class);
//方法2
List<User> userList1 = JSON.parseObject(str1,new TypeReference<List<User>>(){});
json格式转换成Map格式
Map<String, Object> messageMap = JSONObject.parseObject(JSON.toJSONString(jsonObject1), HashMap.class);
总结成工具类
public class JsonUtil {
/**
* 将JSON转换成List对象
* @param json
* @param tClass
* @param <T>
* @return
*/
public static <T>List<T> jsonToList(String json, Class<T> tClass){
@SuppressWarnings("unchecked")
List<T> list = JSON.parseObject(json,new TypeReference<List<T>>(){});
return list;
}
/**
* JSON 转换成POJO
* @param json
* @param tClass
* @param <T>
* @return
*/
public static <T> T getObject(String json,Class<T> tClass){
return JSONObject.parseObject(json,tClass);
}
/**
* POJO 转换成JSON
* @param bean
* @param <T>
* @return
*/
public static <T> String getJSON(T bean){
String jsonString = JSON.toJSONString(bean);
return jsonString;
}
}
补充对象
@Data
public class User {
private String id;
private String name;
private Integer value;
private String remark;
private List<User> userList;
}