我有一個關於正在構建的Web應用程序的問題,我有一個REST服務接收json字符串。將json對象解析爲字符串
JSON字符串是一樣的東西:
{
"string" : "value",
"string" : "value",
"object" : {
"string" : "value",
"string" : "value",
....
}
}
我使用RestEasy的解析它使用傑克遜下面的JSON字符串。我有一個jaxb註釋類,我想將「對象」完全解析爲一個String變量。我想這樣做的原因是能夠稍後使用正確的解析器解析json(這取決於發送請求的應用程序,因此無法預先知道)。
我JAXB註解類看起來是這樣的:
@XmlRootElement
@XmlAccessorType(XmlAccessType.PROPERTY)
public class Test{
@XmlElement(type = String.class)
private String object;
//getter and setter
...
}
當我執行剩下的電話,讓傑克遜解析這個代碼,我得到一個
Can not deserialize instance of java.lang.String out of START_OBJECT token
錯誤。所以實際上我試圖解析一個json字符串,這是一個json對象,成一個字符串。我似乎無法找到有類似問題的人。
在此先感謝您的任何回覆。
它必須是一個字符串?由於您使用的是傑克遜,我建議將您的對象存儲爲[JsonNode](http://fasterxml.github.com/jackson-databind/javadoc/2.1.0/com/fasterxml/jackson/databind/JsonNode.html)。這應該反序列化就好,你可以用正確的解析器解析它。 – nutlike 2013-03-22 09:58:46
根據我的分析師,它應該是:)。無論如何,我會試試看,如果它有效,我會說服他。 – KwintenP 2013-03-22 10:29:09