java - 将 arrayList multimap 转换为 json 字符串?

标签 java json gson

我有以下代码:

public static void postHttpStream(ArrayListMultimap<String, String> fcmbuildProperties){
    HttpClient client = new HttpClient();
    Gson gson = new Gson();
    System.out.println(fcmbuildProperties);
    String jsonString = gson.toJson(fcmbuildProperties);
    System.out.println(jsonString);
}

其中 fcmbuildProperties 是 ArrayListMultimap。我尝试在这里将其转换为 JSON: String jsonString = gson.toJson(fcmbuildProperties); 但这会返回一个空数组。我需要做什么?

这是 fcmbuildProperties 包含的输入:{build.name=[test_project], build.timestamp=[1425600727488], build.number=[121]}

我需要将其转换为 Json。带有键/值。

最佳答案

使用ArrayListMultimap#asMap()

String jsonString = gson.toJson(fcmbuildProperties.asMap());

Gson 将 ArrayListMultimap 视为 Map 并忽略其实际管理多重映射的内部状态。 asMap 返回一个相应的 Map 实例,您可以按预期序列化该实例。

关于java - 将 arrayList multimap 转换为 json 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28890382/

相关文章:

c# - 将Json作为ActionResult返回不会让异常消息通过

java - JSON 响应中的属性可以有多种类型

java - 在 JSONArray 中解析 JSONArray

java - 为什么我刚刚实现的 H2 数据库会出现 "Database may be already in use: null"错误?

Cooja 模拟器中的 Java 结果 134

java - OpenShift 3 Tomcat Hello World 示例

json - Grails 2 - 自动生成 JSON 输出(就像 Spring 3.x 那样)

javascript - 如何将 JSON 数组转换为 JS?

java - 我应该如何声明 GSON 来反序列化 JSON 字符串?

java - 为什么这个网站不能定位元素?