ToSimple 的博客

使用Gson将Map转Json String

Word count: 306Reading time: 1 min
2023/02/21

有时跟服务端通信时,需要将一个 Map 对象,以 json string 的形式传递到服务端。如果一个一个的拼接,显的有点麻烦,使用 Gson 可以方便的解决。

示例: 将 Map 转为 json string

1.创建 Map 并初始化

1
2
3
4
Map<String, String> params = new HashMap<>();
params.put("key1", "value1");
params.put("key2", "value2");
params.put("key3", "value3");

2.构建 Gson 对象

1
Gson gson = new GsonBuilder().create();

3.将 Map 转为 json string

1
2
String content = gson.toJson(params);
System.out.println(content);

输出:

{“key1”:”value1”,”key2”:”value2”,”key3”:”value3”}

拓展

其实不仅是 Map 对象,其他普通对象也可以转为 json string,例如,
1.自定义一个 Girl 类

1
2
3
4
5
static class Girl {
public String name;
public int age;
public String height;
}

2.创建 Girl 类对象,并初始化

1
2
3
4
Girl girl = new Girl();
girl.name = "Lucky";
girl.age = 19;
girl.height = "168cm";

3.将 Girl 对象转为 json string

1
2
String girlS = gson.toJson(girl);
System.out.println(girlS);

输出:

{“name”:”Lucky”,”age”:19,”height”:”168cm”}

可以看到,转为 json string 时,所有被赋值的属性及其值都保留在了 json string 中。注意,如果某个属性没有被赋值,并且初始值为空时,在进行转换时,该属性不会被包含在 json string 中。

CATALOG
  1. 1. 示例: 将 Map 转为 json string
  2. 2. 拓展