【发布时间】:2012-09-05 21:23:15
【问题描述】:
我有一个关于反序列化复合对象的问题。我的对象如下所示:
public class Outside
{
private String str1;
private Inside s;
}
public class Inside
{
private String str2;
public Inside(String str2)
{
this.field1 = str2;
}
}
当我想反序列化对 Json 的响应时
Outside o = wr.accept(MediaType.APPLICATION_JSON_TYPE).get(Outside .class);
我得到以下异常 ....ClientHandlerException:未找到 Java 类外部、Java 类型类外部和 MIME 媒体类型 application/json 的消息正文阅读器
我不确定自己做错了什么。
【问题讨论】:
-
您的意思是
private Inside s;而不是private Second s;?这看起来更像是 JAX-RS(Jersey 客户端?)问题,而不是反序列化问题。 -
是的。谢谢指正。
-
它在不是复合对象时有效。所以我猜应该和反序列化有关。
-
这当然不是反序列化问题,因为它不需要无参数构造函数。
-
@bizclop - 我不同意你的说法(或者我只是不明白你的措辞)。我认为这是由
Inside类没有默认构造函数引起的反序列化问题。
标签: java deserialization