Перейти к основному содержимому

14 записей с тегом "Gson"

Посмотреть все теги

· 2 мин. чтения

1. Обзор

При работе с JSON в Java с использованием библиотеки Gson у нас есть несколько вариантов преобразования необработанного JSON в другие классы или структуры данных, с которыми нам будет легче работать.

Например, мы можем преобразовать строки JSON в Map<String, Object> или создать собственный класс с сопоставлениями . Однако иногда удобно иметь возможность преобразовать наш JSON в универсальный объект.

В этом уроке мы узнаем, как Gson может предоставить нам JsonObject из строки.

2. Зависимость от Maven

· 5 мин. чтения

1. Обзор

При работе с необработанными значениями JSON в Java иногда возникает необходимость проверить, допустимы они или нет. В этом нам могут помочь несколько библиотек: Gson , JSON API и Jackson . Каждый инструмент имеет свои преимущества и ограничения.

В этом руководстве мы реализуем проверку строки JSON, используя каждый из них, и более подробно рассмотрим основные различия между подходами на практических примерах.

2. Проверка с помощью JSON API

Самая легкая и простая библиотека — JSON API.

· 5 мин. чтения

1. Обзор

Работать с данными JSON в Java может быть легко , но, как и во всем остальном в Java, существует множество опций и библиотек, из которых мы можем выбирать.

Это руководство должно облегчить этот выбор и дать вам четкое представление об экосистеме прямо сейчас. Мы обсудим наиболее распространенные библиотеки обработки JSON в Java:

Мы придерживаемся простой структуры для каждой библиотеки — сначала несколько полезных ресурсов для начала работы (как здесь, в ForEach, так и извне). Затем мы рассмотрим базовый пример кода , просто чтобы увидеть, как на самом деле выглядит работа с библиотекой.

2. Популярность и базовая статистика

· 3 мин. чтения

1. Обзор

В этом руководстве мы увидим, как использовать Jackson и Gson для сопоставления разных полей JSON с одним полем Java.

2. Зависимости Maven

Чтобы использовать библиотеки Jackson и Gson , нам нужно добавить следующие зависимости в наш POM:

<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.0</version>
<scope>test</scope>
</dependency>

· 13 мин. чтения

1. Обзор

Сериализация — это процесс преобразования объекта в поток байтов. Затем этот объект можно сохранить в базе данных или передать по сети. Противоположной операцией по извлечению объекта из последовательности байтов является десериализация. Их основная цель — сохранить состояние объекта, чтобы мы могли воссоздать его при необходимости.

В этом руководстве мы рассмотрим различные подходы к сериализации объектов Java .

Во-первых, мы обсудим собственные API-интерфейсы Java для сериализации. Далее мы рассмотрим библиотеки, поддерживающие форматы JSON и YAML, чтобы сделать то же самое. Наконец, мы рассмотрим некоторые межъязыковые протоколы.

2. Пример класса сущности

· 3 мин. чтения

1. Обзор

Gson — это библиотека Java, которая позволяет нам преобразовывать объекты Java в представление JSON. Мы также можем использовать его наоборот, чтобы преобразовать строку JSON в эквивалентный объект Java.

В этом кратком руководстве мы узнаем, как сохранять различные типы данных Java в виде JSON в файле.

2. Зависимости Maven

Прежде всего, нам нужно добавить зависимость Gson в pom.xml . Это доступно в Maven Central :

· 5 мин. чтения

1. Обзор

В этом кратком руководстве мы рассмотрим доступные варианты исключения одного или нескольких полей класса Java и его подклассов из сериализации Gson.

2. Первоначальная настройка

Давайте сначала определим наши классы:

@Data
@AllArgsConstructor
public class MyClass {
private long id;
private String name;
private String other;
private MySubClass subclass;
}

@Data
@AllArgsConstructor
public class MySubClass {
private long id;
private String description;
private String otherVerboseInfo;
}

· 4 мин. чтения

1. Обзор

JSON — это строковое представление данных. Мы можем захотеть сравнить эти данные в наших алгоритмах или тестах. И хотя можно сравнивать строки, содержащие JSON, сравнение строк чувствительно к различиям в представлении , а не в содержании.

Чтобы преодолеть это и сравнить данные JSON семантически, нам нужно загрузить данные в структуру в памяти, на которую не влияют такие вещи, как пробелы или порядок ключей объекта.

В этом кратком руководстве мы решим эту проблему с помощью Gson , библиотеки сериализации/десериализации JSON, которая может выполнять глубокое сравнение между объектами JSON.

2. Семантически идентичный JSON в разных строках

· 9 мин. чтения

1. Введение

В этой статье мы сравним API-интерфейсы Gson и Jackson для сериализации и десериализации данных JSON в объекты Java и наоборот.

Gson и Jackson — это полные библиотеки, предлагающие поддержку привязки данных JSON для Java. Каждый из них является активно разрабатываемым проектом с открытым исходным кодом, который предлагает обработку сложных типов данных и поддержку Java Generics.

И в большинстве случаев обе библиотеки могут десериализоваться в сущность без изменения класса сущности, что важно в тех случаях, когда у разработчика нет доступа к исходному коду сущности.

2. Зависимость от Gson Maven

· 4 мин. чтения

В этой кулинарной книге мы изучаем различные способы преобразования JSON в объекты Java с использованием популярной библиотеки Gson .

1. Десериализовать JSON в один базовый объект

Начнем с простого — мы собираемся преобразовать простой json в объект Java — Foo :

public class Foo {
public int intValue;
public String stringValue;

// + standard equals and hashCode implementations
}

И решение:

@Test
public void whenDeserializingToSimpleObject_thenCorrect() {
String json = "{"intValue":1,"stringValue":"one"}";

Foo targetObject = new Gson().fromJson(json, Foo.class);

assertEquals(targetObject.intValue, 1);
assertEquals(targetObject.stringValue, "one");
}