[英]how to return json objects for list<POJO> in RestController
[英]How to write POJO for Marshalling two list of objects?
<MyRoot>
<Person>
<Name>Joe</Name>
<Age>20</Age>
</Person>
<Address>
<HouseName>Joe</HouseName>
<Place>Delhi</Place>
</Address>
<Person>
<Name>James</Name>
<Age>21</Age>
</Person>
<Address>
<HouseName>Joe</HouseName>
<Place>Mumbai</Place>
</Address>
</MyRoot>
從xml上方,您可以看到person和address標記未包裝在wrapper標記中。 我想使用相同格式的JAXB生成xml。 沒有包裝標簽,我不知道該怎么做。
您是否正在考慮創建包含“人員”列表和“地址”列表的java對象?
public class MyRootObject {
private List<Person> persons;
private List<Address> addresses;
}
如果以上是您打算執行的操作,請注意XML對象將更改。
如果您真的想保留<Person> <Address> <Person> <Address>
類的混合序列(正如您在對@Vankuisher答案的評論中所說的),那么您需要將Person
和Address
不在2個單獨的位置。 List
,但一起在同一 List
。
為此, Person
和Address
必須是公共超類的子類(例如, class Person extends Item
而class Address extends Item
)。 然后,使用@XmlElements
批注定義XML元素名稱和Java類之間的映射:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "MyRoot")
public class MyRoot {
@XmlElements({
@XmlElement(name = "Address", type = Address.class),
@XmlElement(name = "Person", type = Person.class)
})
private List<Item> items;
// public getters and setters (omitted here for brevity)
}
當編組這樣的MyRoot
對象時,您將獲得XML輸出,該輸出具有與List<Item>
給定的相同項目順序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.