在Java中,可以使用很多库来解析JSON数据,如Jackson、Gson、FastJson等。以下是使用Jackson库进行JSON解析的示例:

  1. 添加依赖

在pom.xml中添加以下依赖:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.12.4</version>
</dependency>
  1. 发送GET请求并获取响应数据

可以使用Java的HttpURLConnection或者第三方库如OkHttp发送GET请求并获取响应数据,这里以HttpURLConnection为例:

URL url = new URL("http://example.com/data.json");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.connect();

if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
    BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    String line;
    StringBuilder response = new StringBuilder();
    while ((line = reader.readLine()) != null) {
        response.append(line);
    }
    reader.close();
    String json = response.toString();
}
  1. 解析JSON数据

使用Jackson库的ObjectMapper类可以将JSON字符串转换成Java对象:

ObjectMapper mapper = new ObjectMapper();
MyData data = mapper.readValue(json, MyData.class);

其中,MyData是一个Java类,用于表示JSON数据的结构,需要与JSON数据的结构一致。例如,如果JSON数据是这样的:

{
  "name": "John",
  "age": 30,
  "address": {
    "street": "123 Main St",
    "city": "Anytown",
    "state": "CA"
  },
  "phoneNumbers": [
    {
      "type": "home",
      "number": "555-555-1234"
    },
    {
      "type": "work",
      "number": "555-555-5678"
    }
  ]
}

那么可以定义一个类来表示这个结构:

public class MyData {
    private String name;
    private int age;
    private Address address;
    private List<PhoneNumber> phoneNumbers;

    // getters and setters
}

public class Address {
    private String street;
    private String city;
    private String state;

    // getters and setters
}

public class PhoneNumber {
    private String type;
    private String number;

    // getters and setters
}

然后就可以使用ObjectMapper将JSON字符串转换成MyData对象了:

MyData data = mapper.readValue(json, MyData.class);
``
java get请求解析 json

原文地址: https://www.cveoy.top/t/topic/fh2X 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录