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

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

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

Адрес "/users" без суффикса возвращает все десять учебных пользователей. После чтения тела удобно узнать длину списка и первое имя:

import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.util.List; @JsonIgnoreProperties(ignoreUnknown = true) public record ApiUser(int id, String name) {} public class Main { public static void main(String[] args) throws Exception { ObjectMapper mapper = new ObjectMapper(); HttpClient client = HttpClient.newBuilder().build(); HttpRequest request = HttpRequest.newBuilder() .uri( URI.create( "https://jsonplaceholder.typicode.com/users", ), ) .GET() .build(); HttpResponse<String> response = client.send( request, HttpResponse.BodyHandlers.ofString(), ); List<ApiUser> users = mapper.readValue( response.body(), new TypeReference<List<ApiUser>>() {}, ); System.out.println(users.size()); System.out.println(users.getFirst().name()); } }

Локальный массив строк разбирают тем же способом, без сетевого обмена:

import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import java.util.List; public class Main { public static void main(String[] args) throws Exception { String raw = "[\"x\",\"y\",\"z\"]"; ObjectMapper mapper = new ObjectMapper(); List<String> tags = mapper.readValue( raw, new TypeReference<List<String>>() {}, ); System.out.println(tags.size()); } }

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

String raw = "[\"x\",\"y\",\"z\"]";

Разберите её в список строк и выведите его размер.

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