Здравствуйте и добро пожаловать в мою новую статью о программировании на Java. Сегодня я покажу вам, как читать данные из файла JSON с помощью библиотеки Gson. Не думайте слишком много, это очень просто.
В дальнейшем я буду использовать проект Maven и рекомендую вам загрузить исходный код демонстрационного проекта с моего GitHub.
О Гсоне…
Gson — это библиотека сериализации/десериализации Java, которая используется для преобразования объектов Java в представление JSON или представления JSON в объекты Java.
Добавление зависимости…
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.6</version> </dependency>
Создайте файл ресурсов…
Скажем, у меня есть небольшой магазин, и я продаю фрукты. Я хотел бы хранить информацию, такую как имя, количество и т. Д., Для каждого вида фруктов и вести список. Я назову файл Fruits с расширением .json и сохраню его в папке ресурсов.
Загрузка данных в приложение Java…
Здесь мы должны использовать путь к файлу JSON, который мы создали ранее, и с помощью Gson мы можем загрузить данные в список карт. Там, где каждая карта будет содержать биржевую информацию, список будет содержать всю биржевую информацию.
Обход списка…
Если мы внимательно посмотрим на приведенные выше строки кода, я использовал дженерики и не упомянул, какой должен быть тип данных в правой части карты, содержащей информацию о запасах. Давайте посмотрим, каков тип значений в RHS карты, содержащей биржевую информацию. В файле JSON мы видим, что RHS имеет три типа данных — String, Boolean и Real number.
Итак, давайте посмотрим, можно ли идентифицировать эти типы данных в нашем Java-приложении.
И посмотрите на полученный результат.
{name=Ford, available=true, count=2.0}
java.lang.String - java.lang.String
java.lang.String - java.lang.Boolean
java.lang.String - java.lang.Double
{name=Ferrari, available=false, count=0.0}
java.lang.String - java.lang.String
java.lang.String - java.lang.Boolean
java.lang.String - java.lang.Double
Process finished with exit code 0
Как мы видим из сгенерированного вывода, типы значений RHS для каждого элемента в списке были идентифицированы, соответственно, String, Boolean и Double 🙂
Теперь, когда мы загрузили данные, мы можем обрабатывать их так, как нам нужно.
Ищете исходный код?
Спасибо за чтение
Сейед Сахил
Первоначально опубликовано на http://sydlabz.wordpress.com 4 декабря 2020 г.