Группа JSON Целочисленные значения ответа на основе идентификатора - PullRequest
0 голосов
/ 02 марта 2020

Для ниже json

{
   "TestSet":{
      "TestCurrent":{
         "amount":111,
         "accountTotal":1
      },
      "TestCurrent2":{
         "amount":222,
         "accountTotal":2
      },
      "attributes":[
         {
            "field":"anyfield",
            "label":"myLabel",
            "id":"NA"
         }
      ]
   },
   "TestSet":{
      "TestCurrent":{
         "amount":222,
         "accountTotal":2
      },
      "TestCurrent2":{
         "amount":333,
         "accountTotal":3
      },
      "attributes":[
         {
            "field":"anyfield Doesnt Matter",
            "label":"myLabel",
            "id":"NA"
         }
      ]
   },
   "TestSet":{
      "TestCurrent":{
         "amount":111,
         "accountTotal":1
      },
      "TestCurrent2":{
         "amount":222,
         "accountTotal":2
      },
      "attributes":[
         {
            "field":"anyfield",
            "label":"myLabelDifferent",
            "id":"NAN"
         }
      ]
   }
}

Я хочу добавить «количество», «accountTotal», когда «атрибуты - идентификатор» одинаковы / дубликаты. В приведенном выше примере «id»: «NA», дублируется дважды. Есть ли способ получить результаты в коллекции / hashmap / или списке.

Обновление: можно получить список с помощью:

 List<Map<String, ?>> jsonList = response.jsonPath().getList("$");

Можно пройти с помощью:

jsonList.forEach(map -> {
            System.out.println("new list ");
            map.forEach((key, value) -> {
                System.out.println(key + "new map " + value);
            });
        });

но группировка с использованием "id" и добавление "количества" все еще остается проблемой. Спасибо за ответ,

...