как пропустить два родительских узла json при преобразовании в объект в java - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть вложенное json, структура которого не фиксирована. структура и имена меняются в зависимости от параметра запроса. но json начинается с двух начальных узлов «ПО УМОЛЧАНИЮ», которые я хочу пропустить при преобразовании объекта json в json. Как мне это сделать в java. Я буду анализировать и использовать это в моем приложении весенней загрузки.

{ "Default" : {
               "Default" : { 
                            "name_1" : {.....}, 
                            "name_2" : {....}
                           }
              }
}

1 Ответ

1 голос
/ 03 февраля 2020

Имейте DTO, который выглядит следующим образом

class Dto {
   private static final String DEFAULT_KEY = "Default";
   private Map<String, Map<String, Map<String, Object>>> data;

   public Map<String, Object> getDataWithoutDefaultNodes() {
       return data.get(DEFAULT_KEY).get(DEFAULT_KEY);
   }
}

Как только весенняя загрузка преобразует выше json в объект DTO, просто вызовите dto. getDataWithoutDefaultNodes(), и вы получите пару ключ-значение данных JSON без Узлы «по умолчанию».

В зависимости от типов данных name_1, name_2, name_n Объект может различаться между примитивными типами данных и Map. Например, если name_1 является другим вложенным JSON, Object будет иметь тип Map.

...