json获取多级java_如何优雅的取出多层级JSON最深处的值
时间: 2023-10-03 18:03:09 浏览: 189
在 Java 中处理多层级 JSON 可以使用 JSON 解析库,例如 Jackson 或者 Gson。
以下是一个使用 Jackson 解析多层级 JSON 的示例代码:
```java
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonParser {
public static void main(String[] args) throws Exception {
String json = "{ \"person\": { \"name\": { \"first\": \"John\", \"last\": \"Doe\" }, \"age\": 30 } }";
ObjectMapper objectMapper = new ObjectMapper();
JsonNode rootNode = objectMapper.readTree(json);
String firstName = rootNode.get("person").get("name").get("first").asText();
String lastName = rootNode.get("person").get("name").get("last").asText();
int age = rootNode.get("person").get("age").asInt();
System.out.println("First name: " + firstName);
System.out.println("Last name: " + lastName);
System.out.println("Age: " + age);
}
}
```
在这个示例中,我们先使用 `ObjectMapper` 对 JSON 进行解析,得到一个 `JsonNode` 对象,然后通过 `get` 方法获取多层级的 JSON 值,并使用 `asText` 或 `asInt` 方法将其转换为字符串或整数类型。
如果你使用的是 Gson,也可以用类似的方式解析 JSON,只需要使用 Gson 的 `JsonElement` 和 `JsonObject` 类型代替 Jackson 的 `JsonNode` 类型即可。
阅读全文