Я работал над декодированием jons в reponses в рамке springmvc и использует переходник jackson в качестве реализации. Теперь есть случай. некоторые объекты огромны и с очень глубокими уровнями, я хочу захватить самые нижние уровни информации для этого. Есть ли способ, как jsonPath, аннотируя поле или что-то подобное, что могло бы помочь мне?Поддерживает ли Jackson JsonPath Annotation
0
A
ответ
2
Один из самых простых способов сделать это - перенести корень на указанный узел JSON с помощью функции «at».
В приведенном ниже примере я переместил корневой узел на node3
. Я добавил пример того, как преобразовать node3
в простой POJO. Также вы можете напрямую обращаться к дочерним узлам, не преобразовывая их в POJO.
private static final String JSON = "{\"node1\": {\"node2\": {\"node3\": {\"title2\":\"test\"}}}}";
public static void main(String []args) throws IOException {
ObjectMapper mapper = new ObjectMapper();
JsonNode root = mapper.readTree(JSON);
JsonNode node = root.at("/node1/node2");
System.out.println(node);
System.out.println("-----------------");
JsonNode node3 = node.at("/node3");
System.out.println(node3);
System.out.println(node3.asText());
System.out.println("-----------------");
Node result = mapper.readValue(node3.toString(), Node.class);
System.out.println(result);
}
Обратите внимание, что метод at
никогда не будет возвращать null! От метода Javadoc:
Method will never return null; if no matching node exists,
will return a node for which {@link #isMissingNode()} returns true.
я могу прийти с ответом, который является более актуальным для вашей проблемы, если вы разместите пример JSON и дать мне некоторое представление о том, какие узлы вы хотите игнорировать и то, что узел вы хотите, чтобы разобрать ,
Смежные вопросы
- 1. Jsonpath с Jackson или Gson
- 2. Поддерживает ли JsonPath оператор AND (&&)?
- 3. Jackson annotation mixin framework
- 4. Почему JSONPath не поддерживает родителя?
- 5. Поддерживает ли Jackson java 8 stream()?
- 6. Jackson Annotation Возможность удаления имени свойства при сериализации
- 7. Разбор вложенных Json с помощью Jackson Annotation в Scala
- 8. Можно ли проверить выражение JSONPath?
- 9. Какие встроенные типы поддерживает Jackson 2.6?
- 10. JsonPath NoClassDefFoundError, или альтернатива JsonPath в Java
- 11. Расчет JSONPath
- 12. Поддержка WSO2 ESB для JSONPath
- 13. jsonpath- Извлечение данных JSON с помощью jsonpath
- 14. Ormlite with JPA annotation
- 15. Поддерживает ли Hazelcast объекты JSON в кеше?
- 16. Модуль схемы Jackson JSON не поддерживает проект схемы JSON v4?
- 17. junit annotation
- 18. Является ли метод @PostContruct Annotation дважды выполняемым
- 19. JSONPATH ДЛЯ saopui
- 20. Как избежать [] в jsonPath
- 21. JSONPath: содержит фильтр
- 22. Поиск строк с jsonpath
- 23. JsonPath: Как проверить, имеет ли поле какое-то значение или нет через JsonPath?
- 24. jsonpath: mix two paths
- 25. Как заставить `.andExpect (jsonPath()` возвращать long/long вместо int для int number для парсера jackson
- 26. JsonPath/Jackson: как десериализовать массив JSON для одного объекта ("[1,2,3]" -> экземпляр Vector3d)?
- 27. Минимальное использование Jayway JsonPath
- 28. Как написать JsonPath Match?
- 29. jsonPath исключить поле
- 30. JSONPath добывающих значения