public void traverseJson(JsonNode node) {
if (node.isObject()) {
// 遍历对象的字段
Iterator<Map.Entry<String, JsonNode>> fields = node.fields();
while (fields.hasNext()) {
Map.Entry<String, JsonNode> field = fields.next();
logger.info("Field: {} -> Value: {}", field.getKey(), field.getValue());
traverseJson(field.getValue()); // 递归遍历子节点
}
} else if (node.isArray()) {
// 遍历数组中的元素
for (JsonNode arrayElement : node) {
traverseJson(arrayElement); // 递归遍历数组元素
}
} else {
// 打印字段值
logger.info("Value: {}", node.asText());
}
}
String json = response.body().string();
ObjectMapper objectMapper = new ObjectMapper();
JsonNode rootNode = objectMapper.readTree(json);
// 调用遍历方法
traverseJson(rootNode);