我有一些傳入的JSON,我需要映射到一個JAXB對象。我是否需要將JSON轉換爲XML,然後填充JAXB對象,還是可以將JSON直接映射到對象?無論哪種情況,有人能告訴我什麼是做這件事的最好的圖書館嗎?如何將JSON映射到JAX-B對象?
回答
注:我是EclipseLink JAXB (MOXy)鉛和JAXB (JSR-222)專家小組的成員。
我需要的JSON轉換爲XML,然後填充JAXB 對象,或者我可以直接映射的JSON對象?
在將輸入交給JAXB(JSR-222)實現之前,不需要將JSON轉換爲XML。如果您正在使用Jersey實現(可能還有其他實現),則可以像下面那樣設置JAX-RS方法,JAXB將用於XML和JSON處理。
@GET
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Path("{id}")
public Customer read(@PathParam("id") long id) {
return entityManager.find(Customer.class, id);
}
JAX-RS的實現有一個MessageBodyReader
/MessageBodyWriter
機制,使您可以覆蓋默認的轉換。我不知道Gson是否支持JAXB註釋。 Jackson是一個對象到JSON庫,提供support for a subset of JAXB annotations(maybe regrettably)。 EclipseLink MOXy是一個JAXB實現,它的編號爲extended to support JSON-binding。對於在JAX-RS環境中使用它的一個例子中看到:
gson是一個靈活的庫,可以將JSON字符串轉換爲等效的Java對象,包括預先存在的Java對象。
如果使用的是傑克遜,你可以看看這裏JacksonJAXBAnnotations http://wiki.fasterxml.com/JacksonJAXBAnnotations
作爲一個輕量級的方法,你可以使用StAXON - 通過StAX的,https://github.com/beckchr/staxon/ JSON。 StAXON提供對JAXB的支持,請參閱https://github.com/beckchr/staxon/wiki/Using-JAXB。
隨着StAXON,結合JAXB註釋模型JSON很簡單,只要
JsonXMLMapper<Person> mapper = new JsonXMLMapper<Person>(Person.class);
Person person = mapper.readObject(input);
...
mapper.writeObject(output, person);
StAXON還支持JAX-RS,看https://github.com/beckchr/staxon/wiki/Using-JAX-RS。
- 1. JAXB映射將複雜對象映射到JSON
- 2. 將JSON映射到對象
- 3. 如何將JSON映射到C#對象
- 4. 將JSON對象映射到Javascript對象
- 5. 使用Jaxb/Jersey將動態JSON對象映射到Java POJO
- 6. 如何映射JAXB的對象列表?
- 7. JAXB - 如何將xml數組映射到對象列表
- 8. 如何使用jaxb將XML映射到Java中的對象?
- 9. 如何將JSON對象映射到Spring對象
- 10. JSON到對象映射
- 11. 映射到json對象
- 12. 映射到JSON Java對象
- 13. 將JSON映射到php對象
- 14. Java將json映射到兩個對象
- 15. 將JSON對象映射到POCO
- 16. 將json映射到飛鏢對象
- 17. 將JSON子對象映射到字段
- 18. 將JSON對象映射到Hibernate實體
- 19. 將JSON映射到類對象
- 20. Mongoose - 將json對象映射到Schema
- 21. Scala如何將一對Seq對象映射到一個映射?
- 22. 如何將XML映射到C#對象
- 23. JAXB(MOXy) - 將一個模型對象映射到不同模式
- 24. JAXB Unmarshalling - 將子元素的屬性映射到java對象
- 25. 如何使用jackson將Json映射到Java對象
- 26. 如何將JSON對象映射到PHP類?
- 27. 如何將新的屬性值映射到JSON對象數組?
- 28. 使用ObjC RestKit庫如何將對象映射到JSON NSString *
- 29. 如何將JSON映射到具有不同結構的對象?
- 30. SQL Server 2012 - 如何將JSON對象映射到表
如果您有來自服務提供商的傳入JSON,它們應該已經有一個描述其格式的文件。只要問他們一個XSD或JSON模式。說到JSON-> POJO映射,你可以看看jsonschema2pojo:http://code.google.com/p/jsonschema2pojo/ – toniedzwiedz