Java | Фишки и трюки
7.21K subscribers
182 photos
29 videos
6 files
40 links
Java: примеры кода, интересные фишки и полезные трюки

Купить рекламу: https://telega.in/c/java_tips_and_tricks

✍️По всем вопросам: @Pascal4eg
Download Telegram
⚡️ JSON в Java (Jackson vs Gson vs JSON-B)

Работа с JSON – частая задача, но Jackson, Gson и JSON-B работают по-разному. Какой выбрать?

⚙️ Скорость сериализации (от самого быстрого):

Jackson – самый быстрый (использует ByteBuffer).
Gson – медленнее, так как использует Reflection.
JSON-B – стандартный API, но проигрывает по производительности.

✔️ Пример с использованием Jackson:


ObjectMapper objectMapper = new ObjectMapper();

// Объект → JSON (сериализация)
Person person = new Person("Alice", 30);
String json = objectMapper.writeValueAsString(person);
System.out.println("Jackson Serialized: " + json);

// JSON → Объект (десериализация)
Person deserialized = objectMapper.readValue(json, Person.class);
System.out.println("Jackson Deserialized: " + deserialized.name + ", " + deserialized.age);


✔️ Пример с использованием Gson:


Gson gson = new Gson();

// Объект → JSON (сериализация)
Person person = new Person("Bob", 25);
String json = gson.toJson(person);
System.out.println("Gson Serialized: " + json);

// JSON → Объект (десериализация)
Person deserialized = gson.fromJson(json, Person.class);
System.out.println("Gson Deserialized: " + deserialized.name + ", " + deserialized.age);


✔️ Пример с использованием JSON-B:


Jsonb jsonb = JsonbBuilder.create();

// Объект → JSON (сериализация)
Person person = new Person("Charlie", 35);
String json = jsonb.toJson(person);
System.out.println("JSON-B Serialized: " + json);

// JSON → Объект (десериализация)
Person deserialized = jsonb.fromJson(json, Person.class);
System.out.println("JSON-B Deserialized: " + deserialized.name + ", " + deserialized.age);


💡 Совет: Используйте Jackson для high-performance API, но если важен стандарт – выбирайте JSON-B.

#java #json #jackson #performance
Please open Telegram to view this post
VIEW IN TELEGRAM
👍123🔥3🤔1