Вставить новый элемент в JsonArray - PullRequest
0 голосов
/ 25 марта 2019

У меня есть 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 голосов
/ 25 марта 2019

Основываясь на вашем примере, 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","..",.......}]]

0 голосов
/ 25 марта 2019

Я использую 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 ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...