Kwi*_*enP 6 java json jaxb resteasy jackson
我有一个关于我正在构建的Web应用程序的问题,其中我有一个接收json字符串的REST服务.
Json字符串类似于:
{
"string" : "value",
"string" : "value",
"object" : {
"string" : "value",
"string" : "value",
....
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用resteasy来解析使用下面的jackson的json字符串.我有一个jaxb注释类,我想将"对象"完全解析为String变量.我想这样做的原因是以后能够使用正确的解析器解析json(它取决于发送请求的应用程序,因此事先无法知道).
我的jaxb注释类看起来像这样:
@XmlRootElement
@XmlAccessorType(XmlAccessType.PROPERTY)
public class Test{
@XmlElement(type = String.class)
private String object;
//getter and setter
...
}
Run Code Online (Sandbox Code Playgroud)
当我执行其余的调用并让jackson解析这段代码时,我得到了一个
Can not deserialize instance of java.lang.String out of START_OBJECT token
Run Code Online (Sandbox Code Playgroud)
错误.所以实际上我正在尝试将一个json字符串(一个json对象)解析成一个String.我似乎找不到有类似问题的人.
提前感谢您的回复.
java.lang.String out of START_OBJECT token
Run Code Online (Sandbox Code Playgroud)
这意味着后面的预期字符"object"
是引号"
,而不是括号{
。
预期 json
"object" : "my object"
Run Code Online (Sandbox Code Playgroud)
实际的json
"object" : { ...
Run Code Online (Sandbox Code Playgroud)
=======
如果您想像示例中那样解析 json,请更改您的类。例如
@XmlRootElement
@XmlAccessorType(XmlAccessType.PROPERTY)
public class Test{
@XmlElement
private InnerTest object;
//getter and setter
...
}
@XmlAccessorType(XmlAccessType.PROPERTY)
public class InnerTest{
@XmlElement
private String string;
//getter and setter
...
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1999 次 |
最近记录: |