提问者:小点点

Java映射到JSON字符串


我需要将映射转换为JSON字符串,我正在使用第三方库,其中一个类有一个类型为map的字段。我需要将该映射转换为JSON字符串,并将其发送到目的地。 在我将一个字符串作为值放入该映射之前,一切都可以正常工作,也就是说,如果映射中的对象是一个字符串,那么从jacksonobject_mapper.writeValueAsString(str)方法得到的最后一个JSON字符串中就会出现四个双引号(“”value“”)。

例如下面这张地图:

map类型的map.put(“key”,“value”)将产生{“key”:“”value“”},显然它不是一个JSON字符串,您知道如何在不编写自定义方法来检查类型和解决问题的情况下解决这个问题吗?


共1个答案

匿名用户

尝试使用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);
    }