Java 通过 HTTP 请求获取 JSON 数据109


在 Java 中使用 HTTP 请求获取 JSON 数据是一种常见任务,可用于与 Web 服务或应用程序进行通信。本文将详细介绍如何使用 Java 中的 HttpURLConnection 和 GSON 库实现此操作。

准备工作

在开始之前,需要确保已在项目中包含以下依赖项:```xml


gson
2.10.1

```

建立 HTTP 连接

第一步是建立到目标 URL 的 HTTP 连接。为此,可以使用 HttpURLConnection 类:```java
URL url = new URL("/api/endpoint");
HttpURLConnection connection = (HttpURLConnection) ();
```

配置 HTTP 请求

接下来,需要配置 HTTP 请求的设置,例如请求方法、内容类型和超时值:```java
("GET");
("Content-Type", "application/json");
(5000);
(5000);
```

发送请求并获取响应

调用 connect() 方法发送请求并将响应存储在 InputStream 中:```java
();
InputStream inputStream = ();
```

解析 JSON 数据

使用 GSON 库解析 JSON 数据:```java
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String jsonString = ();
JsonObject jsonObject = new JsonParser().parse(jsonString).getAsJsonObject();
```

提取所需数据

从 JsonObject 中提取所需的数据并根据需要进行处理:```java
String name = ("name").getAsString();
int age = ("age").getAsInt();
```

示例代码

以下是一个示例代码,展示如何使用前面描述的技术获取 JSON 数据:```java
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
public class GetJsonData {
public static void main(String[] args) throws Exception {
URL url = new URL("/api/endpoint");
HttpURLConnection connection = (HttpURLConnection) ();
("GET");
("Content-Type", "application/json");
();
InputStream inputStream = ();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String jsonString = ();
JsonObject jsonObject = new JsonParser().parse(jsonString).getAsJsonObject();
String name = ("name").getAsString();
int age = ("age").getAsInt();
("Name: " + name);
("Age: " + age);
}
}
```

按照本文步骤操作,可以轻松地使用 Java HttpURLConnection 和 GSON 库从 HTTP 请求中获取 JSON 数据。这种技术在与 Web API 和应用程序交互时非常有用。

2024-12-01


上一篇:代码混淆与加密:保护 Java 代码安全

下一篇:Java 字符串数组高效查找