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