我需要将映射转换为JSON字符串,我正在使用第三方库,其中一个类有一个类型为map
的字段。我需要将该映射转换为JSON字符串,并将其发送到目的地。 在我将一个字符串作为值放入该映射之前,一切都可以正常工作,也就是说,如果映射中的对象
是一个字符串
,那么从jackson
的object_mapper.writeValueAsString(str)
方法得到的最后一个JSON字符串中就会出现四个双引号(“”value“”
)。
例如下面这张地图:
map
类型的map.put(“key”,“value”)
将产生{“key”:“”value“”}
,显然它不是一个JSON字符串,您知道如何在不编写自定义方法来检查类型和解决问题的情况下解决这个问题吗?
尝试使用com.google.gson.gson
public void convertMapToJson() {
SortedMap<String, String> elements = new TreeMap();
elements.put("Key1", "Value1");
elements.put("Key2", "Value2");
elements.put("Key3", "Value3");
Gson gson = new Gson();
Type gsonType = new TypeToken<HashMap>(){}.getType();
String gsonString = gson.toJson(elements,gsonType);
System.out.println(gsonString);
}