将arrayList multimap转换为json字符串?

时间:2015-03-06 00:26:55

标签: 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。用键/值。

1 个答案:

答案 0 :(得分:2)

使用ArrayListMultimap#asMap()

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

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