Java实现操作JSON的便捷工具类完整实例【重写Google的Gson】
什么是JSON
JSON(JavaScript Object Notation),一种轻量级的数据交换格式。以键值对(key-value pairs)的形式表示信息,易于人阅读和编写,同时也易于机器解析和生成。
为什么需要JSON
如今,网络数据交互已经成为了不可避免的事实。在这个过程中,数据的传输往往以JSON格式的数据进行传输。因此,实现对JSON数据格式的解析和生成已经成为了Java编程的基本需求。
Gson
Google Gson是众所周知的一个优秀的Java类库,用来在Java对象和JSON数据之间进行序列化和反序列化。但是,Gson的使用不够简洁,需要大量的开发工作,而且业务场景中使用到的代码如此相似,这就促使我们自己去实现一套简易的JSON解析工具类。
实现JSON util类
public class JsonUtil {
private static Gson gson = new Gson();
/**
* 重写ToJson
* @param object
* @return String JSON
*/
public static String toJson(Object object) {
return gson.toJson(object);
}
/**
* 重写fromJson
*
* @param jsonStr
* @param type
* @return Object
*/
public static <T> T fromJson(String jsonStr, Class<T> type) {
return gson.fromJson(jsonStr, type);
}
}
解释:
- JsonUtil是一个JSON工具类,它提供了toJson和fromJson两个方法来实现对象的序列化和反序列化。
- toJson方法接受一个Object对象,将其转换为JSON格式的字符串。
- fromJson方法接受JSON格式的字符串和目标类型,将字符串反序列化成指定类型的对象并返回。
使用示例1:序列化
public class User {
private int id;
private String name;
private String email;
// getter方法和setter方法已省略
}
public class Main {
public static void main(String[] args) {
User user = new User();
user.setId(1);
user.setName("张三");
user.setEmail("zhangsan@example.com");
String userJson = JsonUtil.toJson(user);
System.out.println(userJson);
}
}
运行结果:
{"id":1,"name":"张三","email":"zhangsan@example.com"}
解释:
- 我们定义了一个User类,包含id、name和email三个属性。
- 在main方法中,我们创建了一个User对象,设置了它的id、name和email属性,然后调用JsonUtil的toJson方法将其序列化为JSON格式的字符串。
- 最后,将序列化后的JSON字符串打印到控制台。
使用示例2:反序列化
public class Main {
public static void main(String[] args) {
String userJson = "{\"id\":1,\"name\":\"张三\",\"email\":\"zhangsan@example.com\"}";
User user = JsonUtil.fromJson(userJson, User.class);
System.out.println(user.getId());
System.out.println(user.getName());
System.out.println(user.getEmail());
}
}
运行结果:
1
张三
zhangsan@example.com
解释:
- 在main函数中,我们创建了一个JSON格式的字符串userJson。
- 然后,我们调用JsonUtil的fromJson方法,将JSON字符串反序列化成User对象并返回。
- 最后,我们输出User对象的三个属性。
总结:
通过以上的示例和代码,我们实现了一个简单的JSON工具类,通过这个工具类,可以方便地将Java对象序列化为JSON格式的字符串,也可以将JSON格式的字符串反序列化为Java对象。
参考
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java实现操作JSON的便捷工具类完整实例【重写Google的Gson】 - Python技术站