#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. С плавающей точкой>>)'»