Java——常用JSON解析库详解(fastjsongson、jackson)
在Java中,常用的JSON解析库有fastjson2、Gson和Jackson。以下是对这三种库的简单介绍和使用示例。
fastjson2
fastjson2是阿里巴巴开源的一个高性能的JSON处理库,它支持序列化、反序列化以及JSONPath查询。
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
public class FastjsonExample {
public static void main(String[] args) {
// 序列化
User user = new User("Tom", 25);
String jsonString = JSON.toJSONString(user);
System.out.println(jsonString);
// 反序列化
JSONObject jsonObject = JSON.parseObject(jsonString);
User userObj = jsonObject.toJavaObject(User.class);
System.out.println(userObj.getName());
}
}
class User {
private String name;
private int age;
// 构造器、getter和setter省略...
}
Gson
Gson是Google开源的一个用来在Java对象和JSON数据之间进行映射的Java库。
import com.google.gson.Gson;
public class GsonExample {
public static void main(String[] args) {
Gson gson = new Gson();
User user = new User("Jerry", 30);
// 序列化
String jsonString = gson.toJson(user);
System.out.println(jsonString);
// 反序列化
User userObj = gson.fromJson(jsonString, User.class);
System.out.println(userObj.getName());
}
}
class User {
private String name;
private int age;
// 构造器、getter和setter省略...
}
Jackson
Jackson是一个用来处理JSON数据的Java库,也是Spring框架默认的JSON处理库。
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonExample {
public static void main(String[] args) throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
User user = new User("Alice", 28);
// 序列化
String jsonString = mapper.writeValueAsString(user);
System.out.println(jsonString);
// 反序列化
User userObj = mapper.readValue(jsonString, User.class);
System.out.println(userObj.getName());
}
}
class User {
private String name;
private int age;
// 构造器、getter和setter省略...
}
以上代码展示了如何
评论已关闭