java如何解析json数据

在Java中解析JSON数据通常有两种方式:

  1. 使用JSON库

可以使用一些JSON库来解析JSON数据,例如Jackson、Gson、JSON.simple等。

以下是一个使用Jackson库解析JSON数据的示例代码:

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
ObjectMapper objectMapper = new ObjectMapper();
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);
System.out.println(age);
System.out.println(city);
  1. 使用Java内置的JSON库

从Java EE 7开始,Java中也包含了内置的JSON库,可以通过javax.json包中的类来解析JSON数据。

以下是一个使用Java内置的JSON库解析JSON数据的示例代码:

import javax.json.Json;
import javax.json.JsonObject;
import javax.json.JsonReader;
import java.io.StringReader;

String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
JsonReader jsonReader = Json.createReader(new StringReader(jsonString));
JsonObject jsonObject = jsonReader.readObject();
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
String city = jsonObject.getString("city");
System.out.println(name);
System.out.println(age);
System.out.println(city);