JsonArray是一種輕量級的數據交換格式,逐漸成為Web API傳輸數據的標準方式。本文將從各個方面詳解JsonArray的使用,包括創建、添加、刪除、修改等各種操作。
一、創建JsonArray
創建JsonArray最常用的方式是通過解析一個JSON字元串,使用JsonArray的構造函數來創建JsonArray對象。JsonArray也可以直接通過Java的構造函數創建一個空的JsonArray對象。同時,JsonArray對象也可以通過讀取輸入流或者從已有的集合創建。
String json = "[{\"name\":\"Tom\", \"age\":20}, {\"name\":\"Jerry\", \"age\":18}]"; JsonArray jsonArray = new JsonArray(json); JsonArray jsonArrayEmpty = new JsonArray(); JsonArray jsonArrayFromList = new JsonArray(list);
二、添加元素
JsonArray和Java中的List非常相似,支持添加、刪除、獲取元素等操作。添加元素有兩種方式,一種是使用JsonObject添加,一種是使用JsonPrimitive添加。
使用JsonObject添加元素的方式:
JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("name", "Lucy"); jsonObject.addProperty("age", 21); jsonArray.add(jsonObject);
使用JsonPrimitive添加元素的方式:
JsonPrimitive jsonPrimitive = new JsonPrimitive(100); jsonArray.add(jsonPrimitive);
三、獲取元素
獲取JsonArray中的元素非常簡單,可以通過下標獲取指定位置的元素,也可以通過迭代器遍歷所有元素。
通過下標獲取字元串類型的元素:
String name = jsonArray.get(0).getAsJsonObject().get("name").getAsString(); String age = jsonArray.get(0).getAsJsonObject().get("age").getAsString();
通過迭代器遍歷JsonArray中的元素:
Iterator iterator = jsonArray.iterator(); while (iterator.hasNext()) { JsonElement element = iterator.next(); System.out.println(element.toString()); }
四、修改元素
JsonArray修改元素的方式和List類似,可以通過下標設置指定位置的元素,也可以通過JsonObject中的add、remove、replace等方法修改元素。
通過下標修改元素:
jsonArray.set(1, new JsonPrimitive("hello"));
通過JsonObject中的方法修改元素:
jsonArray.get(0).getAsJsonObject().addProperty("name", "Jack"); jsonArray.get(0).getAsJsonObject().remove("age"); jsonArray.get(1).getAsJsonPrimitive().getAsInt();
五、刪除元素
JsonArray刪除元素同樣支持兩種方式,一種是通過下標刪除指定位置的元素,一種是通過JsonObject中的remove方法刪除指定的元素。
通過下標刪除元素:
jsonArray.remove(0);
通過JsonObject中的remove方法刪除元素:
jsonArray.get(0).getAsJsonObject().remove("name");
六、轉化為字元串
需要將JsonArray轉化為字元串可以使用JsonArray中的toString方法。這一點和其他Json相關的對象非常類似。
String jsonString = jsonArray.toString();
七、總結
本文詳細闡述了JsonArray的創建、添加、獲取、修改、刪除以及轉化為字元串的各種操作。JsonArray被廣泛應用於Web API的數據交換,通過掌握JsonArray的使用,能夠輕鬆編寫出符合要求的Web API。
原創文章,作者:ZLQF,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/143559.html