Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpJsLs 144 of 322 menu
◀ ▶

Список значений в Java

Массив в JSON записывают квадратными скобками и элементами через запятую. Компонент типа List в record автоматически превращается в такой массив, если Jackson знает, как сериализовать элемент списка.

Группа участников проекта - имя команды и список логинов. Оба поля входят в один record:

import com.fasterxml.jackson.databind.ObjectMapper; import java.util.List; public record ProjectTeam(String name, List<String> members) {} public class Main { public static void main(String[] args) throws Exception { ProjectTeam team = new ProjectTeam( "alpha", List.of("kim", "lee", "pat") ); ObjectMapper mapper = new ObjectMapper(); System.out.println(mapper.writeValueAsString(team)); } }

В строке появится ключ members со значением-массивом строк. Пустой список сериализуется как [], порядок элементов сохраняется.

Разбор из текста восстанавливает List с тем же порядком. Достаточно передать JSON, где массив уже задан литералом:

import com.fasterxml.jackson.databind.ObjectMapper; import java.util.List; public record ProjectTeam(String name, List<String> members) {} public class Main { public static void main(String[] args) throws Exception { String raw = "{\"name\":\"beta\",\"members\":[\"ada\",\"bob\"]}"; ObjectMapper mapper = new ObjectMapper(); ProjectTeam team = mapper.readValue(raw, ProjectTeam.class); System.out.println(team.members().size()); System.out.println(team.members().getFirst()); } }

Дана карточка рецепта:

var card = new RecipeCard("Soup", List.of("hot", "veg"));

Опишите record RecipeCard с компонентом title и списком tags. Запишите карточку в JSON и выведите строку.

Дана строка JSON:

String raw = "{\"title\":\"Pasta\",\"tags\":[\"italian\",\"fast\"]}";

Разберите эту строку в RecipeCard и выведите второй тег отдельной строкой.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить