@Test
public void getWenshu() {
String path = "legal_data/wenshu/14501.json";
ObjectMapper mapper = new ObjectMapper();
// 使用try-with-resources确保InputStream资源正常释放
try (InputStream stream = ResourceUtil.getStream(path)) {
JsonNode jsonNode = mapper.readTree(stream);
JsonNode ctxsNode = jsonNode.get("ctxs");
if (ctxsNode != null && !ctxsNode.isMissingNode()) {
ctxsNode.fieldNames().forEachRemaining(key -> {
JsonNode caseNode = ctxsNode.get(key);
try {
Case aCase = mapper.treeToValue(caseNode, Case.class);
System.out.println(aCase);
} catch (JsonProcessingException e) {
System.err.println("JSON处理异常: " + e.getMessage());
}
});
} else {
System.err.println("未找到'ctxs'节点或节点为空");
}
} catch (IOException e) {
System.err.println("读取文件发生错误: " + e.getMessage());
}
}
- 自动关闭文件:读完文件后,要记得“关门”,也就是关闭文件。改进的代码会确保这个“门”不会被遗忘,自动帮你关闭。
- 更多的检查:代码在开始工作前会检查一下文件里的内容是否正确,避免做无用功。