我有一个JsonArray,它由许多数组组成。我需要在每个数组的开头插入一个新元素。
我试图遍历它以提取每个数组并插入新元素,但是它不起作用。
我试图遍历它以提取每个数组并插入新元素,但是它不起作用。
for (int i=0; i<consultaArray.size();i++)
{
JsonElement elemento = consultaArray.get(i);
JsonObject item = new JsonObject();
item.addProperty("Prueba", "Prueba");
}
结构为[{"key1":"value1","key2":"value2"},{....},....]
它应该在每个JsonArray数组中插入一个新元素
答案 0 :(得分:0)
我将Gson 2.8.5用于此代码
String jsonArrayStr = "[[{'key1':'value1'},{...}],[{'key1':'value1'},{...}]]";
JsonArray consultaArray = (JsonArray) new JsonParser().parse(jsonArrayStr);
JsonArray finalJsonArray = new JsonArray();
for (JsonElement arrEl : consultaArray) {
JsonArray elemento = (JsonArray) arrEl;
JsonArray finalArr = new JsonArray();
JsonObject item = new JsonObject();
item.addProperty("Prueba", "Prueba");
finalArr.add(item);
for (JsonElement el : elemento) {
finalArr.add(el);
}
finalJsonArray.add(finalArr);
}
最终数组
[[{"Prueba":"Prueba"},{"key1":"value1"},{...}],[{"Prueba":"Prueba"},{"key1":"value1"},{...}]]
我在数组的起点插入新元素。如果不需要,请删除循环“ for”并使用youJsonArray.add()
答案 1 :(得分:0)
根据您的示例zdadco,我已执行以下操作:
JsonArray consultaArray = getFields(querySQL);
JsonArray finalJsonArray = new JsonArray();
for (JsonElement arrEl : consultaArray)
{
JsonObject obj = arrEl.getAsJsonObject();
JsonObject item = new JsonObject();
JsonArray finalArr = new JsonArray();
item.addProperty("Test", "Test");
finalArr.add(item);
finalArr.add(arrEl);
finalJsonArray.add(finalArr);
}
结果是:
在[[{"ID":"70","Org":"Townhall","..",.....}]]
之前
之后:[[{"Test":"Test"},{"ID":"70","Org":"Townhall","..",.......}]]