Как преобразовать дерево Json из строковых ключей и значений с плавающей запятой в карту

#java #json #jackson

#java #json #джексон

Вопрос:

У меня есть приведенная ниже строка, и я хотел преобразовать ее в Map of String , Float .

Я смог разобрать его в JsonNode . Есть ли способ напрямую преобразовать его в HashMap ?

 private ObjectMapper json = new ObjectMapper();
String tree = "{"string1": 0.75, "string2": 0.85}";
JsonNode root = json.readTree(tree);
  

Как мне преобразовать корень в Map<String,Float> ?

Ответ №1:

Попробуйте это:

  Map<String, Float> map = mapper.readValue(tree, new TypeReference<Map<String, Float>>(){});
  

Комментарии:

1. Я получаю ошибку компиляции «»Ссылка на тип является абстрактной и не может быть инициирована

2. Вы поместили пустые фигурные скобки?

3. когда я добавляю фигурные скобки, я получаю «Не удается разрешить значение метода ‘readValue(com.fasterxml.jackson.databind. JsonNode, анонимная организация.codehaus. jackson.type. Ссылка на тип<java.util. HashMap<java.lang. Строка, java.lang. С плавающей точкой>>)'»