Java中的JSON庫可以將Java對象序列化為JSON字符串,同時也可以將JSON字符串反序列化為Java對象。在序列化時,可以使用過濾器來篩選出符合條件的字段或者忽略某些字段。
// 定義一個User類 public class User { private String name; private Integer age; private String gender; // 省略 getter/setter 方法 } User user = new User(); user.setName("Tom"); user.setAge(20); user.setGender("male"); // 使用JSON庫將User對象序列化為JSON字符串 String jsonStr = JSONObject.toJSONString(user); System.out.println(jsonStr); // {"age":20,"gender":"male","name":"Tom"} // 使用JSON庫序列化時篩選字段 SimplePropertyPreFilter filter = new SimplePropertyPreFilter(User.class, "name", "age"); jsonStr = JSONObject.toJSONString(user, filter); System.out.println(jsonStr); // {"age":20,"name":"Tom"} // 使用JSON庫序列化時忽略字段 SerializeFilter ignoreFilter = new PropertyFilter() { @Override public boolean apply(Object o, String s, Object o1) { return !"gender".equals(s); } }; jsonStr = JSONObject.toJSONString(user, ignoreFilter); System.out.println(jsonStr); // {"age":20,"name":"Tom"}
Java中常用的JSON庫有Jackson、Gson、FastJson等,它們都提供了類似的序列化和反序列化功能,只是使用方法不同。在實際開發中,我們需要根據項目需求選擇適合的庫。