1

オブジェクトを「逆シリアル化」しようとすると、次のエラーが発生します。

Cannot construct MyClass as it does not have a no-args constructor.

ドキュメントを見ると、XStream が実行されていないということenhanced modeですか?

ただし、同じ JVM で同じクラスを使用すると、Google Gsonライブラリはオブジェクトを問題なくシリアライズおよびデシリアライズできます。

MyClass c;
c = (MyClass) new Gson().fromJson(json, MyClass.class);

では、Gson が JSON に対してできることを XStream が XML に対してできないのはなぜでしょうか? これは XStream コードに簡単にパッチを適用できるものですか?それとも回避するのが容易ではない制限なのでしょうか?

この XStream ライブラリを使用して、引数のないコンストラクターを持つオブジェクトであっても、オブジェクトをシリアル化/逆シリアル化できる必要があります。

4

1 に答える 1

0

XStream では、クラスに引数のないコンストラクターが必要です。

これらのコンストラクターはパブリックである必要はありませんが、存在する必要があります。

于 2013-04-04T22:06:50.243 に答える