Java 是一種面向?qū)ο蟮木幊陶Z言,在 Web 應(yīng)用程序的開發(fā)中得到了廣泛應(yīng)用。在 Web 開發(fā)中,JSON (JavaScript Object Notation)是一種常用的數(shù)據(jù)格式,因此在進行 Web 開發(fā)時,Java 發(fā)送 JSON 和接收 JSON 非常重要。
要發(fā)送 JSON,可以使用JSON.simple
庫。下面是一個示例:
JSONObject jsonObject = new JSONObject(); jsonObject.put("name", "張三"); jsonObject.put("age", 18); jsonObject.put("gender", "male"); String jsonString = jsonObject.toJSONString(); // 進行發(fā)送請求的操作,這里使用了 OkHttp 編寫的示例 MediaType mediaType = MediaType.parse("application/json; charset=utf-8"); RequestBody requestBody = RequestBody.create(mediaType, jsonString); Request request = new Request.Builder() .url("https://example.com/api") .post(requestBody) .build(); Response response = client.newCall(request).execute();
上面的代碼使用了JSONObject
對象來創(chuàng)建 JSON,并使用toJSONString()
方法將其轉(zhuǎn)換成字符串。然后使用 OkHttp 的RequestBody
對象來創(chuàng)建請求體,包含了 JSON 字符串。在發(fā)送請求時,需要設(shè)置請求頭部中的Content-Type
為application/json
。
要接收 JSON,可以使用gson
庫。下面是一個示例:
// 進行接收響應(yīng)的操作,這里繼續(xù)使用 OkHttp 編寫的示例 String responseData = response.body().string(); Gson gson = new Gson(); Person person = gson.fromJson(responseData, Person.class); System.out.println("name: " + person.getName()); System.out.println("age: " + person.getAge()); System.out.println("gender: " + person.getGender());
上面的代碼使用了Gson
對象將 JSON 字符串轉(zhuǎn)換成了 Java 對象。這里使用了一個名為 Person 的自定義類,其屬性對應(yīng)了 JSON 中的字段。使用System.out.println()
方法輸出了轉(zhuǎn)換后的對象的屬性值。