public static void main(String[] args) throws IOException {
//language=JSON
// String text = “{\n” +
// " “type”: “heraeus1”,\n" +
// " “preview”: “Y”,\n" +
// " “input”: {\n" +
// " “ledger_id”: 35522,\n" +
// " “document_id”: [818454,11003],\n" +
// " “date”: “2019 - 11 - 04 “\n” +
// " }\n” +
// “}”;
//language=JSON
String text = “{“list”:[“hao”,“haouhao”,“keyi”],“time”:1375429228382,“name”:“hhh”,“age”:10,“child”:{\n” +
" “name”: “lisj”,\n" +
" “class”: {\n" +
" “name”: “zhaoliu”\n" +
" }\n" +
“}}”;
JSONObject jsonObject = JSONObject.parseObject(text);
ObjectMapper objectMapper = new ObjectMapper(new JsonFactory());
// System.out.println(jsonObject.toJSONString());
// List documentIdsNodes = objectMapper.readTree(jsonObject.toJSONString()).get(“input”).findValues(“document_id”);
// JsonNode documentIdsNodes = objectMapper.readTree(jsonObject.toString()).findValue(“input”).findValue(“document_id”);
JsonNode jsonNode = objectMapper.readTree(jsonObject.toString());
List documentIdsNodes = jsonNode.findValues(“list”);
List names = jsonNode.findValues(“name”);
for (JsonNode documentIdNode : documentIdsNodes) {
// int documentId = documentIdNode.asInt();
System.out.println("=");
// System.out.println(documentId);
System.out.println(documentIdNode.toString());
}
System.out.println("============");
for (JsonNode name : names) {
System.out.println(name);
}
}
findvalues:用于查找到所有的节点,包括子节点。
findvalue: 用于查找到当前父节点下该key的自节点
如下:
[“hao”,“haouhao”,“keyi”]
“zhaoliu”
“lisj”
“hhh”