Я довольно новичок в Джексоне и Spring-Boot.Я пытаюсь проанализировать объект JsonNode, чтобы получить вложенное свойство из объекта JsonNode в виде строки.
Это для приложения с загрузочной пружиной, где я помещаю файл json в ArrayList моего объекта класса изатем чтение одного элемента массива в объект JsonNode.Я попытался привести объект JsonNode к ArrayNode, а затем сохранить в нем родительское свойство, используя
ObjectMapper mapper = new ObjectMapper();
mapper.enable(SerializationFeature.INDENT_OUTPUT);
JsonNode rootNode = mapper.valueToTree(workflow);
ArrayNode arrayNode = (ArrayNode) rootNode.get("metadata");
, а затем найти требуемое свойство в arrayNode, используя
Iterator<JsonNode> arrayNodeIterator = arrayNode.elements();
while(arrayNodeIterator.hasNext()){
JsonNode jsonNode = arrayNodeIterator.next();
String str = jsonNode.get("name").asText();
}
.это json, который я пытаюсь прочитать
{
"metadata": {
"name": "workflow-name"
},
"tasks": []
}
Однако я получаю следующую ошибку при запросах GET.
java.lang.ClassCastException: class com.fasterxml.jackson.databind.node.ObjectNode cannot be cast to class com.fasterxml.jackson.databind.node.ArrayNode (com.fasterxml.jackson.databind.node.ObjectNode and com.fasterxml.jackson.databind.node.ArrayNode are in unnamed module of loader '