我有以下使用 Jackson 映射器映射到 POJO 的 json。在反序列化过程中如何保留 json 中数组列的顺序?我应该使用什么注解?
JSON:
{
"columnNames": [
"FirstName",
"LastName",
"UserName"
],
"values": [
[
"John",
"Smith",
"jsmith"
],
[
"Tim",
"Cook",
"tcook"
]
]
POJO:
public class Data implements Serializable {
private List<String> columnNames = new ArrayList<String>();
private List<ArrayList<String>> values = new ArrayList<ArrayList<String>>();
public List<String> getColumnNames() {
return columnNames;
}
public void setColumnNames(List<String> columnNames) {
this.columnNames = columnNames;
}
public List<ArrayList<String>> getValues() {
return values;
}
public void setValues(List<ArrayList<String>> values) {
this.values = values;
}
- 预期的 getColumnNames():{"FirstName","LastName","UserName"}
- 实际 getColumnNames():{"UserName","FirstName","LastName"}
我是 Jackson 映射的新手,因此非常感谢您的帮助。
最佳答案
Jackson 映射器填充 ArrayList 维护 JSON 的顺序。如果您想要不同的顺序,可以使用注释 @JsonPropertyOrder。
关于java - 将 json 数组反序列化为列表并保留列表中 json 的数组顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22623126/