Создание карты на основе данных json

JSON

{
 "type": {
   "type1": {
     "sub1": [
        "sub1A": {
        }
     ]
   }
 }
"type2": {
   "type1": {
     "sub1": [
        "sub1A": {
        }
     ]
   }
 }

}

У меня есть Json, как это, я не понимаю, как создать карту для этого, например

Map<String, Object> requestMap = new HashMap<>();
requestMap.get("type"); 

Внутри типа снова создайте карту, содержащую дополнительные данные.

Используйте библиотеку JSON для анализа JSON, и взамен вы получите Map of Map (x5). --- Ну, кроме того, что это не сработает, так как это недопустимый JSON. Было бы правильно, если бы вы заменили [] на {}.

Andreas 21.01.2019 11:41
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
4
1
129
2

Ответы 2

В соответствии с тем, что вы поделились, вы можете использовать:

Map <String, Map<String, Map<String, Set<Map<String, String>>>>>

Или, чтобы получить более подробную информацию о работе с объектами json, вы можете посмотреть: Запросить JSONObject в java

Set? Он имеет только 1 параметр типа. У вашего 2. Ошибка компиляции!!! --- И показанный JSON недействителен, поэтому он не станет ничем, кроме исключения синтаксического анализа.
Andreas 21.01.2019 11:45

Есть две вещи: либо это недопустимый json, либо это просто объект, который он хочет сохранить, и просто назвал его json. Если мы уверены, что получаем json, то, очевидно, есть ошибка, как вы упомянули, и лучшим методом будет использование JSONObject (stleary.github.io/JSON-java/org/json/JSONObject.html). Но если второй случай верен, то то, что я упомянул (отредактировал), верно.

Abhinav Kaushal Keshari 21.01.2019 11:55

Я не совсем понял ваш вопрос. Но из вашего утверждения, если вы пытаетесь извлечь данные json в свой класс и эти данные JSON имеют рекурсивное сопоставление, т. е. один объект содержит себя под своим телом. Тогда я не думаю, что вам нужен HashMap, чтобы сопоставить этот json с вашим классом. Вы можете использовать один объект с полем типа самого себя, например отношения сотрудника и менеджера. например.,

class Type {
  private Type type;
  private String otherField;
  // constructors, setters, getters
}

Теперь вы можете читать значения из типа, используя рекурсивные функции.

Другие вопросы по теме