有时跟服务端通信时,需要将一个 Map 对象,以 json string 的形式传递到服务端。如果一个一个的拼接,显的有点麻烦,使用 Gson 可以方便的解决。
示例: 将 Map 转为 json string
1.创建 Map 并初始化
1 | Map<String, String> params = new HashMap<>(); |
2.构建 Gson 对象
1 | Gson gson = new GsonBuilder().create(); |
3.将 Map 转为 json string
1 | String content = gson.toJson(params); |
输出:
{“key1”:”value1”,”key2”:”value2”,”key3”:”value3”}
拓展
其实不仅是 Map 对象,其他普通对象也可以转为 json string,例如,
1.自定义一个 Girl 类
1 | static class Girl { |
2.创建 Girl 类对象,并初始化
1 | Girl girl = new Girl(); |
3.将 Girl 对象转为 json string
1 | String girlS = gson.toJson(girl); |
输出:
{“name”:”Lucky”,”age”:19,”height”:”168cm”}
可以看到,转为 json string 时,所有被赋值的属性及其值都保留在了 json string 中。注意,如果某个属性没有被赋值,并且初始值为空时,在进行转换时,该属性不会被包含在 json string 中。