Сериализация и десериализация HashMap < MyObject, List < Integer > с Джексоном

def bubblesort(array):
    for i in range(len(array)-1):
        for j in range(len(array)-1-i):
            if array[j] > array[j+1]:
                array[j], array[j+1] = array[j+1], array[j]
    return(array)

print(bubblesort([3,1,6,2,5,4]))
1
задан kimusan 17 January 2019 в 12:52
поделиться

1 ответ

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

Map<String, Double> groceryPrices = new HashMap<>();
groceryPrices.put("apple", 0.25);
groceryPrices.put("orange", 0.30);

Это естественным образом переводится в объект JSON:

{
  "apple": 0.25,
  "orange": 0.30
}

Проблема в том, что вы используете сложный объект для представления ключа. Не существует простого метода для сериализации и десериализации вашего сложного объекта в / из строки.

Если вы не хотите писать собственную сериализацию, я предлагаю вам изменить структуру данных. Ваша текущая структура связывает модель с целыми числами. Вы можете сложить список целых чисел в сам объект Model:

Map<String, Model> models; // This could map modelId -> Model which now contains the integers
0
ответ дан jeff 17 January 2019 в 12:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: