Java Сопоставить с JSON строкой - PullRequest
0 голосов
/ 19 июня 2020

Мне нужно преобразовать карту в строку JSON, я использую стороннюю библиотеку, и один из классов в ней имеет поле типа Map<String, Object> Мне нужно преобразовать эту карту в строку JSON и отправить его по назначению. Все работает нормально, пока я не вставлю строку в эту карту в качестве значения, т.е. если этот Object на карте равен String, тогда у меня будет четыре двойных кавычки (""value"") в последней строке JSON, которую я получаю из jackson методом OBJECT_MAPPER.writeValueAsString(str).

например, следующая эта карта:

map.put("key", "value") типа Map<String, Object> приведет к {"key" : ""value""}, который, очевидно, не является строкой JSON, любая идея, как решить это, не записывая собственный метод проверки типов и решения проблемы?

1 Ответ

0 голосов
/ 19 июня 2020

Попробуйте использовать 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);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...