Преобразование массива в хэш-карту во время сопоставления Джексона, при этом каждый ключ записи является полем идентификJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Преобразование массива в хэш-карту во время сопоставления Джексона, при этом каждый ключ записи является полем идентифик

Сообщение Anonymous »

Это JSON, над которым я работаю:

Код: Выделить всё

{
"default": "ignore-me",
"catalog": [
{
"id": "object-1",
"name": "Object 1"
},
{
"id": "object-3",
"name": "Object 3"
},
{
"id": "object-2",
"name": "Object 2"
}
]
}
Я могу проанализировать его на Java, используя Джексона, с помощью:

Код: Выделить всё

ObjectMapper mapper = new ObjectMapper();
Catalogs catalogs = mapper.readValue(new File("/catalogs.json"), Catalogs.class);
Модель Java для Catalogs.java и Catalog.java:

Код: Выделить всё

import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;

public class Catalogs {

@JsonProperty("default")
private String defaultField;

private List catalogList;

// getters / setters
}

Код: Выделить всё

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

@JsonIgnoreProperties(ignoreUnknown = true)
public class Catalog {

private String id;
private String name;

// getters / setters
Моя цель — преобразовать List CatalogList во что-то вроде HashMap, что обеспечивает более быстрый доступ к записям, когда известен идентификатор заранее, вместо того, чтобы перебирать все записи.
Поэтому я хотел бы сделать что-то вроде:

Код: Выделить всё

Catalog catalog = catalogs.getCatalogList().get("object-1");
Может ли Джексон автоматически выполнять это преобразование типов во время десериализации?


Подробнее здесь: https://stackoverflow.com/questions/786 ... -being-the
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»