Java 后臺常常需要通過 JSON 請求來獲取或發送數據。JSON 是一種輕量級的數據交換格式,因其簡單易用,被廣泛應用于前后端數據傳輸。下面我們來學習一下如何在 Java 后臺進行 JSON 請求。
使用 Java 進行 JSON 請求,需要借助一些第三方庫。在這里,我們使用 Google 的 Gson 庫和 Apache 的 HttpComponents 庫。這兩個庫的 Maven 依賴如下:
// Gson <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version> </dependency> // HttpComponents <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.6</version> </dependency>
接下來,我們來看一個例子,假設要向某個網站發送一個 POST 請求,并附帶一個 JSON 數據:
HttpClient httpClient = HttpClientBuilder.create().build(); HttpPost httpPost = new HttpPost("https://example.com"); httpPost.setHeader("Content-Type", "application/json"); JsonObject requestBody = new JsonObject(); requestBody.addProperty("id", 123); requestBody.addProperty("name", "Tom"); StringEntity entity = new StringEntity(requestBody.toString(), "UTF-8"); httpPost.setEntity(entity); HttpResponse httpResponse = httpClient.execute(httpPost);
以上代碼中,我們使用 HttpClient 發送了一個 POST 請求,請求的 URL 是 https://example.com,請求頭中設置了 Content-Type 參數為 application/json,請求體中附帶了一個 JSON 數據。
首先,我們通過 HttpClientBuilder 創建了一個 HttpClient 對象。接著,我們構建了一個 HttpPost 對象,并設置了請求頭中的 Content-Type 參數。然后,我們使用 Gson 庫創建了一個 JsonObject 對象,添加了兩個屬性 id 和 name,并設置了它們的值。接下來,我們將這個 JsonObject 對象轉換成字符串格式,并用 StringEntity 來構造請求體。最后,我們使用 httpClient.execute(httpPost) 發送請求,并將返回的 HttpResponse 對象保存在 httpResponse 變量中。
至此,我們已經成功地使用 Java 后臺進行了一次 JSON 請求。當然,在實際應用中,我們可能需要將這段代碼封裝成一個方法,方便后續的調用。