在Java中操作JSON數(shù)組很常見,本文將介紹一些常用的方法。
首先,我們需要導(dǎo)入JSON庫,常用的庫有Gson、Jackson等。以下代碼演示了如何在Java中使用Gson庫來創(chuàng)建和操作JSON數(shù)組:
// 導(dǎo)入Gson庫 import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonObject; // 創(chuàng)建一個(gè)JSON數(shù)組 JsonArray jsonArray = new JsonArray(); // 向數(shù)組中添加JSON對(duì)象 JsonObject jsonObject1 = new JsonObject(); jsonObject1.addProperty("name", "Alice"); jsonObject1.addProperty("age", 20); jsonArray.add(jsonObject1); JsonObject jsonObject2 = new JsonObject(); jsonObject2.addProperty("name", "Bob"); jsonObject2.addProperty("age", 25); jsonArray.add(jsonObject2); // 遍歷數(shù)組中的每個(gè)JSON對(duì)象 for (int i = 0; i< jsonArray.size(); i++) { JsonObject object = jsonArray.get(i).getAsJsonObject(); String name = object.get("name").getAsString(); int age = object.get("age").getAsInt(); System.out.println(name + " is " + age + " years old."); }
以上代碼將輸出:
Alice is 20 years old. Bob is 25 years old.
其中,JsonArray和JsonObject分別表示JSON數(shù)組和JSON對(duì)象,可以通過add方法向數(shù)組中添加JSON對(duì)象,通過get方法獲取指定索引的JSON對(duì)象。可以通過getAsXXX方法獲取JSON對(duì)象中對(duì)應(yīng)的屬性值。
除了使用Gson庫,Java 8中也提供了自帶的json包。以下代碼演示了如何使用json包來創(chuàng)建和操作JSON數(shù)組:
import java.util.ArrayList; import java.util.List; import javax.json.Json; import javax.json.JsonArray; import javax.json.JsonObject; // 創(chuàng)建一個(gè)JSON數(shù)組 Listlist = new ArrayList<>(); list.add(Json.createObjectBuilder().add("name", "Alice").add("age", 20).build()); list.add(Json.createObjectBuilder().add("name", "Bob").add("age", 25).build()); JsonArray jsonArray = Json.createArrayBuilder(list).build(); // 遍歷數(shù)組中的每個(gè)JSON對(duì)象 jsonArray.forEach(object ->{ String name = object.asJsonObject().getString("name"); int age = object.asJsonObject().getInt("age"); System.out.println(name + " is " + age + " years old."); });
以上代碼與使用Gson庫的代碼實(shí)現(xiàn)相同,只是使用了Java自帶的json包。Json.createArrayBuilder可以創(chuàng)建JSON數(shù)組生成器,通過add方法向數(shù)組中添加JSON對(duì)象,最后通過build方法生成JSON數(shù)組。