色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java json post請求參數

林子帆1年前8瀏覽0評論

本文將介紹如何使用Java發送帶有JSON參數的POST請求。

首先需要導入相關依賴:

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import com.google.gson.Gson;
import com.google.gson.JsonObject;

通過GSON庫將JSON轉化為Java對象:

String jsonParam = "{\"name\": \"John\", \"age\": 25}";
Gson gson = new Gson();
JsonObject jsonObject = gson.fromJson(jsonParam, JsonObject.class);

發送POST請求時,需要將JSON參數轉化為字符串并設置到請求體中:

String apiUrl = "http://example.com/api";
URL url = new URL(apiUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
String input = jsonObject.toString();
OutputStream os = conn.getOutputStream();
os.write(input.getBytes());
os.flush();
if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) {
throw new RuntimeException("Failed : HTTP error code : "
+ conn.getResponseCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));
String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
System.out.println(output);
}
conn.disconnect();

其中,setDoOutput(true)表示可以向請求體中寫入數據,setRequestMethod("POST")表示請求方法為POST。

最后不要忘記關閉輸入輸出流和斷開連接。