У меня есть массив объектов в следующий классКак сериализовать массив JSON как пронумерованный/индексированный JSON с использованием джексона?
public class Person
{
private Long id;
private String name;
//Rest of the getters and setters
}
public class Data
{
private ArrayList<Person> persons;
public Data()
{
persons = new ArrayList<Person>();
Person p1 = new Person(1L, "walter");
Person p2 = new Person(2L, "white");
persons.add(p1);
persons.add(p2);
}
}
Теперь, если я создаю объект данных в моей программе и сериализовать этот Data
объект с Джексоном, он даст мне следующий JSON.
{
"data": {
"persons": [
{
"id": 1,
"name": "walter"
},
{
"id": 2,
"name": "white"
}
]
}
}
есть ли способ сериализации этого объекта в следующий пронумерованный/индексированный JSON?
{
"data": {
"persons": {
"1": {
"id": 1,
"name": "walter"
},
"2": {
"id": 2,
"name": "white"
}
}
}
}
почему бы не сделать 'ArrayList человек;' а 'HashMap ' или 'LinkedHashMap 'если порядок имеет значение? –
Epicblood
@Epicblood: порядок здесь не имеет значения. Я просто хочу пронумерованный массив. В основном это всего лишь пример, который я написал. В моем случае использования у меня есть входящие данные в формате массива, но я должен записать эти данные в индексированном/numbred формате. – Heisenberg
Я не думаю, что у Jackson есть эта функция, я бы поставил массив, который вы получите через каждый цикл, и превратите его в hashmap. – Epicblood