我有一个关于我正在构建的 Web 应用程序的问题,其中我有一个接收 json 字符串的 REST 服务。
Json 字符串类似于:
{
"string" : "value",
"string" : "value",
"object" : {
"string" : "value",
"string" : "value",
....
}
}
我正在使用resteasy 来解析下面使用jackson 的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 对象)解析为 String。我似乎找不到有类似问题的人。
预先感谢您的任何回复。
java.lang.String out of START_OBJECT token
这意味着之后的预期字符"object"
是引号"
,但不包括括号{
.
预期 json
"object" : "my object"
实际的json
"object" : { ...
=======
如果您想像示例中那样解析 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
...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)