Конвертировать Arraylist из HashMaps в Json String (GSON) - PullRequest
0 голосов
/ 13 апреля 2020

Я создал 3 HashMaps, все они хранятся в Arraylist, но я не могу сделать это в JSON String, я использую библиотеку GSON.

Любая помощь будет любезно оценена.

Ниже вы можете увидеть все 3 хэш-карты и ArrayList, к которым я добавляю их.

    private void createAdditionalPackages() {

    if (chemoBtn.isChecked()) {
        chemo.put("name", "chemo");
        chemo.put("price", chemoButtonPrice);
    }

    if (cremBtn.isChecked()) {

        cremation.put("name", "crematie");
        cremation.put("price", cremationButtonPrice);
    }

    if (travenBtn.isChecked()) {

        travel.put("name", "reisverz");
        travel.put("price", travelButtonPrice);
    }

    x.add(chemo);
    x.add(cremation);
    x.add(travel);

    List<JsonObject> jsonObjectList = new ArrayList<>() ;
    for(HashMap<String, String> data : x){
        JsonObject object = new JsonObject(data);
        jsonObjectList.add(object);
    }

    JsonArray additional_coverages = new JsonArray(jsonObjectList);

См. Ошибку:

enter image description here

Ответы [ 2 ]

0 голосов
/ 13 апреля 2020

Вы не можете напрямую добавить список JsonObject в JsonArray

, вы можете использовать что-то вроде этого.

JsonArray additional_coverages = new JsonArray();

for(singleItem in jsonObjectList){
additional_coverages.put(singleItem )
}
0 голосов
/ 13 апреля 2020
    JsonArray additional_coverages = new JsonArray();
    // Iterate over your Hashmap
    for (Map.Entry<String,String> data : x.entrySet()) {
        // Create your JsonObject and use addProperty
        JsonObject object = new JsonObject();
        object.addProperty(data.getKey(), data.getValue());
        // Add data in your JsonArray
        additional_coverages.add(object);
    }
...