私は現在実装している複雑なデータモデルを持っています java.io.Serializable
、私は正常にシリアル化し、それらをdeserialized ObjectOutputStream
そして ObjectInputStream
.
しかし、結果はバイナリファイル(期待どおり)です.Javaが非バイナリ形式(XMLなど)と同じ方法で直列化と逆シリアル化をサポートしているのかどうか疑問に思っていました。
私はC#がこの機能を持っていることがわかります: XMLとシリアライゼーション/デシリアライズのバイナリ・パフォーマンス.
この場合パフォーマンススピード/効率は考慮されません。
回答:
回答№1は4はい、Javaはそれを持っています。 XMLエンコーディング。見てみな ここに!
このアプローチは通常のシリアライゼーションに非常に似ています。
回答№2のための5
さらに、私はあなたに シンプル そして XStream フレームワーク。私は両方良いことがわかった。いずれかを選択することもできますし、Jackが提案するようにXmlEncoderを使用することもできます。