在JsonArray

时间:2019-03-25 11:03:51

标签: java json eclipse

我有一个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数组中插入一个新元素

2 个答案:

答案 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","..",.......}]]