我有一个关于正在构建的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