Hessian序列化循环引用对象时抛异常

下面是反序列化代码

Hessian2Input input = new Hessian2Input(new ByteArrayInputStream(bytes));
return (T) input.readObject(clz);

有一个对象,格式大致如下

class A{
  String var1
  String var2
  List<A> children
}

如果children为空就每次都能序列化

如果children不为空 就经常会抛异常,但有时又能成功序列化

异常如下

A.children: expected list at java.lang.String ()

测试了下,将List换成数组也一样

你可以用 Newtonsoft.Json包。这个挺好用的