Введение
- JSON - это очень распространенный тип данных для обмена данными через Интернет. Когда мы читаем данные JSON на нашем любимом языке программирования, мы часто считываем древовидную структуру и сопоставляем ее с каким-либо типом данных.
- В этой статье мы будем использовать библиотеку Jackson object mapper для чтения вложенных данных JSON
Входные данные
- Наши входные данные содержат вложенные объекты JSON для викторин ("quqz"). он содержит тип викторины ("sprort", "maths") и все вопросы ("question",) для этого типа с вариантами и ответами.
Библиотека
ObjectMapper
- Библиотека Jackson предоставляет экземпляр ObjectMapper, который предоставляет множество методов, которые принимают входные данные в виде строки JSON / URL файла и т.д. и возвращают объект JsonNode.
- Объект JsonNode позволяет нам читать JSON как readTree, и мы можем выполнять итерации по нему и считывать нужные нам атрибуты.
Логика
- В нашем коде мы используем объект JsonNode и получаем атрибут quiz из данных Json.
- Теперь мы знаем, что узел викторины содержит несколько записей для каждого типа викторины, поэтому мы можем выполнить итерацию по нему и для каждого типа извлечь вопрос и варианты.
- Мы также можем использовать метод fields() поверх JsonNode для атрибутов викторины. Этот метод вернет все типы викторин в качестве ключей, а значения будут атрибутами вопроса.
Вывод
- В этой статье мы использовали Jackson ObjectMapper для чтения данных Json в Java.
ObjectMapper предоставляет множество методов для чтения данных Json в виде дерева и перебора каждого объекта JSON по имени или позиции. Это простой и быстрый способ чтения данных Json на Java.