이 구조를 반복하는 데 문제가 있습니다. Jackson을 사용하는 몇 가지 방법이 있으며 누군가가 신속하고 관리하기 쉬운 솔루션을 제공 할 수 있기를 바랍니다.Jackson을 사용하여 여러 자식 노드 반복
JSON 구조는 전체적으로 일관되며 모든 하위 요소는 크기에 관계없이 "하위"필드를 갖습니다.
각 노드에 대해 field1, field 2 및 field3을 출력하고 싶습니다. 노드의 계층 구조는 부적합합니다.
JsonFactory factory = new JsonFactory();
JsonParser parser = factory.createParser(json);
while (parser.nextToken() != null) {
String name = parser.getCurrentName();
if ("field1".equals(name)) {
parser.nextToken(); // Advance to the field value
String value = parser.getText(); // Get the field value as a string
System.out.println(value);
}
}
parser.close();
보통 스트리밍 API를 사용하는 것이 더 많은 작업이 필요하지만 (계층 구조가 중요하지 않기 때문에)이 경우에는 적절한 것 같다
{
"field1": "example data",
"field2": "example data2",
"field3": "example data3",
"children": [{
"field1": "example data",
"field2": "example data2",
"field3": "example data3",
"children": [{
"field1": "example data",
"field2": "example data2",
"field3": "example data3",
"children": []
},
{
"field1": "example data",
"field2": "example data2",
"field3": "example data3",
"children": []
}
]
}, {
"field1": "example data",
"field2": "example data2",
"field3": "example data3",
"children": [{
"field1": "example data",
"field2": "example data2",
"field3": "example data3",
"children": []
}]
}]
}
계층 구조는 여기에 관계가 없습니다. 구조 내의 3 가지 값의 간단한 출력만으로도 필요한 것입니다. OP를 업데이트하여 이러한 요구 사항을 반영합니다. – user0000001