Java中的http請(qǐng)求和響應(yīng)由請(qǐng)求頭、請(qǐng)求體、響應(yīng)頭和響應(yīng)體四部分組成,其中請(qǐng)求體和響應(yīng)體的數(shù)據(jù)格式不一定相同。
JSON(JavaScript Object Notation),一種輕量級(jí)的數(shù)據(jù)交換格式,常用于Web前端與后端之間數(shù)據(jù)的傳輸。Java中可以使用第三方庫(kù)如Jackson、Gson等來(lái)進(jìn)行JSON的解析和生成。
// 樣例:使用Jackson庫(kù)將JSON解析為Java對(duì)象 ObjectMapper mapper = new ObjectMapper(); MyClass obj = mapper.readValue(jsonString, MyClass.class);
使用Java進(jìn)行HTTP請(qǐng)求時(shí),可以選擇多種實(shí)現(xiàn)方式,比如HttpURLConnection、Apache HttpClient等。不過(guò)需要注意的是,在進(jìn)行HTTP請(qǐng)求時(shí)還需要指定請(qǐng)求和響應(yīng)的Content-Type,確保請(qǐng)求和響應(yīng)的數(shù)據(jù)格式統(tǒng)一。
// 樣例:使用HttpURLConnection發(fā)送POST請(qǐng)求,并處理響應(yīng) URL url = new URL("https://example.com/api"); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/json"); conn.setDoOutput(true); OutputStream os = conn.getOutputStream(); os.write(json.getBytes()); os.flush(); os.close(); if (conn.getResponseCode() != 200) { // 處理錯(cuò)誤響應(yīng) } else { InputStream is = conn.getInputStream(); // 處理正常響應(yīng) }