我有以下代码:
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。用键/值。
答案 0 :(得分:2)
String jsonString = gson.toJson(fcmbuildProperties.asMap());
Gson将ArrayListMultimap
视为Map
并忽略其实际管理多重映射的内部状态。 asMap
会返回相应的Map
实例,您可以按预期序列化。