文章目录
前言
使用库 com.alibaba.fastjson2
,可完成大部分JSON转换操作。
详情参考文章: Java FASTJSON2 一个性能极致并且简单易用的JSON库
Map、JSONObject、实体类互转
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import lombok.Data;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) {
// map集合转Java实体类
Map<String, Object> map = new HashMap<>();
map.put("id", 123456);
map.put("name", "张三");
User user = JSON.parseObject(JSON.toJSONString(map), User.class);
System.out.println(user); // User(id=123456, name=张三)
// Java实体类转为Map集合
Map map1 = JSON.parseObject(JSON.toJSONString(user), Map.class);
System.out.println(map1); // {name=张三, id=123456}
// Java实体类转JSONObject
JSONObject jsonObject = (JSONObject) JSON.toJSON(user);
System.out.println(jsonObject); // {"name":"张三","id":123456}
// JSONObject转Java实体类
User user1 = jsonObject.toJavaObject(User.class);
System.out.println(user1); // User(id=123456, name=张三)
// String转JSONObject
JSONObject jsonObject1 = JSONObject.parseObject(jsonObject.toString());
System.out.println(jsonObject1); // {"id":123456,"name":"张三"}
// JSONObject转String
String string = JSON.toJSONString(jsonObject);
System.out.println(string); // {"id":123456,"name":"张三"}
// String转JSONObject
JSONObject jsonObject2 = JSON.parseObject(string);
System.out.println(jsonObject2); // {"id":123456,"name":"张三"}
// map集合转JSONObject
JSONObject jsonObject3 = JSON.parseObject(JSON.toJSONString(map), JSONObject.class);
System.out.println(jsonObject3); // {"name":"张三","id":123456}
// JSONObject转为Map集合
Map map2 = JSON.parseObject(jsonObject.toString(), Map.class);
System.out.println(map2); // {name=张三, id=123456}
}
}
@Data
class User {
private Integer id;
private String name;
}