我有几个java类,第一个是第二个实例的容器。容器类有一个id和一个项目列表,如:
public class Container {
String id = "123";
ArrayList<Item> items = new ArrayList<Item>();
...
}
和Item类如:
public class Item {
String id = "123123";
String notes = "what a day";
...
}
当我序列化它时,我会得到类似的东西:
{ "id" : "123",
"items" : [ {
"id" : "123123",
"notes" : "what a day"
}, {
"id" : "456456",
"notes" : "what a night"
}
]
}
但是,我想要的是:
{
"id": "123",
"items": [
{
"123123": [
{
"notes": "what a day"
}
],
"456456": [
{
"notes": "what a night"
}
]
}
]
}
其中Item类中的“id”是“items”数组中元素的标识符。 如何改变java类结构,或者为jackson提供哪些指令来实现所需的结构?
答案 0 :(得分:0)
由于JSON是一组name/value
对,您将收到此错误
Parse error on line 4:
...: [ "123123": { "not
----------------------^
Expecting '}', ',', ']'
如果你想为keys
对提供动态name/value
,你总是可以在程序逻辑中写出JSON(Not Jackson)