用java怎么取出IdNum,Name,happenTime字段{"params": {"events": [{"data": {"ExtEventIdentityCardInfo": {"IdNum": "34262312210630421X ","Name": "李四"}},"happenTime": "2019-05-23T09:51:09.000+08:00","srcIndex": "73fc53c972f64019b04a636c5757489a","srcName": "2604_zhy_门2" } ] } }
时间: 2023-07-06 20:43:53 浏览: 70
IdcardInfoExtractor.java
您可以使用 Java 中的 JSON 解析库(如 Jackson 或 Gson)将该 JSON 字符串解析成 Java 对象,然后使用对象的属性访问方式获取所需的值。
以下是使用 Jackson 解析该 JSON 字符串的示例代码:
```java
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
// 定义 JSON 字符串
String jsonString = "{\"params\":{\"events\":[{\"data\":{\"ExtEventIdentityCardInfo\":{\"IdNum\":\"34262312210630421X \",\"Name\":\"李四\"}},\"happenTime\":\"2019-05-23T09:51:09.000+08:00\",\"srcIndex\":\"73fc53c972f64019b04a636c5757489a\",\"srcName\":\"2604_zhy_门2\"}]}}";
// 创建 ObjectMapper 对象
ObjectMapper mapper = new ObjectMapper();
// 将 JSON 字符串解析成 JsonNode 对象
JsonNode jsonNode = mapper.readTree(jsonString);
// 访问 params 节点下的 events 节点
JsonNode eventsNode = jsonNode.path("params").path("events");
// 遍历 events 节点下的数组
for (JsonNode eventNode : eventsNode) {
// 访问 data 节点下的 ExtEventIdentityCardInfo 节点
JsonNode identityCardNode = eventNode.path("data").path("ExtEventIdentityCardInfo");
// 获取 IdNum 和 Name 属性的值
String idNum = identityCardNode.path("IdNum").asText();
String name = identityCardNode.path("Name").asText();
// 获取 happenTime 属性的值
String happenTime = eventNode.path("happenTime").asText();
// 输出结果
System.out.println("IdNum: " + idNum + ", Name: " + name + ", happenTime: " + happenTime);
}
```
运行上述代码,输出结果如下:
```
IdNum: 34262312210630421X , Name: 李四, happenTime: 2019-05-23T09:51:09.000+08:00
```
上述代码使用 Jackson 将 JSON 字符串解析成 JsonNode 对象,然后通过 JsonNode 对象的 `path()` 方法访问所需的节点,最后使用 `asText()` 方法获取属性值。您可以根据自己的实际需求修改代码以实现您的目标。
阅读全文