json获取多级java_如何优雅的取出多层级JSON最深处的值
时间: 2023-10-03 12:03:09 浏览: 127
在 Java 中,可以使用 JsonPath 库来优雅地获取多层级 JSON 最深处的值。JsonPath 是一个轻量级的库,可以方便地处理 JSON 数据。以下是一个简单的示例:
假设我们有以下 JSON 数据:
```json
{
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York",
"state": "NY",
"zip": "10001"
}
}
```
如果我们想要获取地址(address)下的邮编(zip)的值,可以使用以下代码:
```java
String json = "{...}"; // 上面的 JSON 数据
DocumentContext context = JsonPath.parse(json);
String zip = context.read("$.address.zip");
```
在此示例中,我们首先将 JSON 数据解析为 DocumentContext 对象。然后,使用 `read` 方法和 JsonPath 表达式 `$.address.zip` 来获取最深处的值。
需要注意的是,JsonPath 中的 `$` 表示根节点。因此,`$.address.zip` 表示从根节点开始,依次访问 address 和 zip 节点。如果 JSON 中有多个地址节点,可以使用通配符 `*` 来匹配所有地址节点,例如:
```java
List<String> zips = context.read("$..address[*].zip");
```
这将返回所有地址节点下的邮编值。更多的 JsonPath 表达式语法可以参考 JsonPath 文档。
阅读全文
相关推荐
















