java 解析json 数据
时间: 2023-09-01 14:07:42 浏览: 95
Java 中可以使用第三方库来解析 JSON 数据,比较常用的有 Jackson、Gson 和 FastJson 等。
以下是使用 Jackson 库解析 JSON 数据的示例代码:
```java
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonParser {
public static void main(String[] args) {
String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
ObjectMapper objectMapper = new ObjectMapper();
try {
JsonNode jsonNode = objectMapper.readTree(jsonString);
String name = jsonNode.get("name").asText();
int age = jsonNode.get("age").asInt();
String city = jsonNode.get("city").asText();
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("City: " + city);
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
其中,`JsonNode` 类是 Jackson 库中用于表示 JSON 数据的类。`ObjectMapper` 类则是用于将 JSON 数据转换为 `JsonNode` 对象的类。在上述示例代码中,我们首先创建了一个 JSON 字符串 `jsonString`,然后通过 `ObjectMapper` 对象的 `readTree` 方法将其转换为 `JsonNode` 对象。接着,我们可以通过 `JsonNode` 对象的 `get` 方法获取其中的字段值,并通过 `asText` 和 `asInt` 等方法将其转换为对应的 Java 类型。最后,我们将这些字段值输出到控制台中。
除了 Jackson,还可以使用其他第三方库来解析 JSON 数据。例如,使用 Gson 库的示例代码如下:
```java
import com.google.gson.Gson;
import java.util.Map;
public class JsonParser {
public static void main(String[] args) {
String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
Gson gson = new Gson();
Map<String, Object> map = gson.fromJson(jsonString, Map.class);
String name = (String) map.get("name");
int age = ((Double) map.get("age")).intValue();
String city = (String) map.get("city");
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("City: " + city);
}
}
```
在这个示例代码中,我们首先使用 Gson 对象的 `fromJson` 方法将 JSON 字符串转换为 `Map` 对象。接着,我们可以通过 `Map` 对象的 `get` 方法获取其中的字段值,并将其转换为对应的 Java 类型。最后,我们将这些字段值输出到控制台中。
阅读全文