【问题标题】:Java Map to JSON stringJava 映射到 JSON 字符串
【发布时间】:2020-10-09 20:23:09
【问题描述】:

我需要将映射转换为 JSON 字符串,我正在使用第三方库,并且其中的一个类具有 Map<String, Object> 类型的字段我需要将该映射转换为 JSON 字符串并将其发送到它的目的地。一切正常,直到我将字符串作为值放入该映射中,即如果映射中的 ObjectString,那么我最终在从 @ 获得的最终 JSON 字符串中有四个双引号 (""value"") 987654327@ 的OBJECT_MAPPER.writeValueAsString(str) 方法。

例如下面这张地图:

map.put("key", "value") 类型为 Map<String, Object> 将导致 {"key" : ""value""} 这显然不是 JSON 字符串,知道如何在不编写自定义方法来检查类型和解决问题的情况下解决此问题吗?

【问题讨论】:

标签: java json jackson objectmapper


【解决方案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);
    }

【讨论】:

  • 谢谢,但我只需要使用jackson
猜你喜欢
  • 2016-12-09
  • 2020-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-19
  • 2017-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多