![](/img/trans.png)
[英]com.google.gson.JsonObject cannot be cast to com.google.gson.JsonArray in Java
[英]How to add in a specific index of com.google.gson.JsonArray?
com.google.gson.JsonArray
具有將附加元素的add方法。 如果我想在特定索引處添加,該怎么做?
我嘗試使用這種代碼在第0個索引處添加元素。 我正在尋找更好的東西,而無需實例化新的JsonArray
。
JsonArray newArray = new JsonArray();
newArray.add(new JsonPrimitive(3));
for (int i = 0; i < myArray.size(); i++) {
newArray.add(myArray.get(i));
}
由於JsonArray沒有插入方法,這意味着你必須自己創建。 它會在您選擇的位置插入數組中的單個項目。
public static JsonArray insert(int index, JsonElement val, JsonArray currentArray) {
JsonArray newArray = new JsonArray();
for (int i = 0; i < index; i++) {
newArray.add(currentArray.get(i));
}
newArray.add(val);
for (int i = index; i < currentArray.size(); i++) {
newArray.add(currentArray.get(i));
}
return newArray;
}
因此,使用此方法,將新項0插入位置0的現有數組[1,2,3]:
insert(0, new JsonPrimitive(0), myArray);
不改變原始數組,該方法將返回一個新數組[0,1,2,3]。 希望有所幫助!
我認為您正在尋找類似的東西,您可以使用下面提到的方法替換特定索引處的現有JsonElement。
JsonElement set(int index,JsonElement element)用指定的元素替換此數組中指定位置的元素。
以供參考:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.