我需要將一些任意的JSON內容包裝到POJO中,然後使用MOXy/JAXB將其序列化爲JSON,但無法弄清楚如何將JsonObject
與JAXB綁定。我只需要編組JsonObject
,解組並不是必需的。如何爲JAXB MOXy編寫JsonStructure(JSR-353)XmlAdaptor?
即具有POJO:
@XmlRootElement
public class MsgPOJO {
public String type;
public Object content;
}
如何把一個任意JSON內容在 'MsgPOJO.content',並對其進行序列化:
String jsonDoc = "{\"prop\":\"value\"}";
MsgPOJO msg = new MsgPOJO();
msg.type = "whatever";
msg.content = jsonDoc;
所以,這將是輸出:
{
"type": "whatever",
"content": {
"prop": "value"
}
}
我在考慮用@XmlJavaTypeAdapter
註釋MsgPOJO.content
,但這似乎並不能讓我獲得任何地方,因爲JSON內容可能是任意的。
這將是很好,如果能MOXY元帥JsonObject
或JsonStructure
,所以我可以這樣定義的POJO:
@XmlRootElement
public class MsgPOJO {
public String type;
public JsonObject content;
}
有沒有一種方法,使這項工作?或者它是MOXy/JAXB的限制嗎?
有一點要考慮的是GSON http://google-gson.googlecode.com/svn-history/trunk/gson/docs/javadocs/com/google/gson/Gson .html它是一個將任何類轉換成Json字符串並重新返回的庫。你可以使用它而不是自己做,它一直爲我工作。 – REGAL 2015-02-24 18:06:33