Java中的POST請求常用于向服務器提交數據,而JSON是一種常見的數據格式。
要使用Java向服務器發POST請求傳送JSON數據,需要先構造一個JSON對象,然后將其轉換為JSON字符串。接著將該字符串放入POST請求的主體部分,發送到服務器。
JSONObject jsonObj = new JSONObject(); jsonObj.put("name", "John"); jsonObj.put("age", 25); String jsonStr = jsonObj.toString(); URL url = new URL("http://example.com/api"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setDoOutput(true); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/json"); OutputStream os = conn.getOutputStream(); os.write(jsonStr.getBytes()); os.flush(); if(conn.getResponseCode() == HttpURLConnection.HTTP_OK) { // 處理返回的數據 } os.close(); conn.disconnect();
在上述代碼中,我們首先使用JSONObject類構造了一個JSON對象,然后將其轉換為JSON字符串。接著我們使用URL和HttpURLConnection類發送POST請求。需要設置setDoOutput為true,才會將POST請求的數據發送出去。請求頭中Content-Type屬性要設置為application/json,這樣服務器就可以根據該屬性值解析JSON數據。
最后,我們可以根據HTTP響應碼判斷請求是否成功,并處理返回的數據。