Java提取多层级的json值
时间: 2023-07-30 17:08:06 浏览: 43
如果要提取多层级的 JSON 值,可以使用 JSON 解析库,如 Jackson 或 Gson。以下是使用 Jackson 库的示例代码:
```java
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
public class JsonParser {
public static void main(String[] args) throws IOException {
String jsonString = "{\"person\":{\"name\":\"Alice\",\"age\":25,\"address\":{\"city\":\"New York\",\"state\":\"NY\"}}}";
ObjectMapper objectMapper = new ObjectMapper();
JsonNode rootNode = objectMapper.readTree(jsonString);
String name = rootNode.path("person").path("name").asText();
int age = rootNode.path("person").path("age").asInt();
String city = rootNode.path("person").path("address").path("city").asText();
String state = rootNode.path("person").path("address").path("state").asText();
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("City: " + city);
System.out.println("State: " + state);
}
}
```
在这个示例中,我们使用 Jackson 库的 `ObjectMapper` 类来读取 JSON 字符串并将其转换为 `JsonNode` 对象。然后我们可以使用 `path()` 方法来获取嵌套的 JSON 值。请注意,我们需要使用相应的类型方法(例如 `asText()` 和 `asInt()`)来将 JSON 值转换为 Java 数据类型。