1.什么是Gson
什么是Gson,我们从其官网上可以看到详细说明:
写道
Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object. Gson can work with arbitrary Java objects including pre-existing objects that you do not have source-code of.
简而言之:Gson是Google给Java开发者提供的用于Java对象和Json数据之间进行相互转换的工具类,我通过该jar包可以方便快捷的将Java Map转换成JSON字符串,或者将JSON对象转换为对应的HashMap对象。
下面我们通过Java的Map数据类型来具体看下Gson是如何使用的。
2. jar包引入
在使用Gson之前,需要先在我们的Maven工程中将其二方包引入,version号可以替换官网提供的成最新的版本。maven引用方式如下所示:
groupId:com.google.code.gson
artifactId:gson
3. Java Map转换为JSON字符串
示例代码如下:
Java代码
1. public static void main(String[] args) {
2. Gson gson = new Gson();
3. Map map = Maps.newHashMap();
4. map.put("colour", "red");
5. map.put("weight", "10kg");
6. gson.toJson(map);
7. System.out.println(map);
8. }
运行结果:
1. {colour=red, weight=10kg}
4. JSON字符串转换为Java Map
示例代码如下:
Java代码
1. public static void main(String[] args) {
2. Gson gson = new Gson();
3. Map map = Maps.newHashMap();
4. map.put("colour", "red");
5. map.put("weight", "10kg");
6. String mapJson = gson.toJson(map);
7. map = gson.fromJson(mapJson,Map.class);
8. }
通过public String toJson(Object src) 和 public T fromJson(String json, ClassclassOfT) throws JsonSyntaxException 这两个方法,我可以方便的实现Java对象和json字符串直接的相互转换。
使用Gson能够明显感觉到这组组件库的快捷和高效,同时在编码时也可以简化代码行数,使得整个代码篇幅简洁,推荐大家在Java开发过程中使用Google的Gson进行json处理。