2010-12-07 8 views
0

理想的には、ライターを切り替えるだけの理想的な方法です。 1つの書き込みはjsonと別のxmlを書きます。逆も同じですが、1つのファクトリはjsonのInputStreamともう1つはxmlのInputStreamを受け取ります。どちらの場合でも、バインディング・スタッフはInputStreamを指定してオブジェクト・ストリームを戻します。単純なスイッチでxmlまたはjsonを読み書きするJavaライブラリ

答えて

4

XStreamこれはかなりうまくいきます。

(XML用)通常のインスタンス化:(JSON用)

new XStream(); 

代替インスタンス化:

new XStream(new JettisonMappedXmlDriver()); 
/**************** or ****************/ 
new XStream(new JsonHierarchicalStreamDriver()); 
+0

ニース - Javaの.NET WCFシリアライゼーションに相当するXStreamですか? – Fakrudeen

+0

@Fakrudeen:わかりません。私は.NETやWCFのプログラマーではない –

+0

XStreamは本当に使いやすいようですが、チップのおかげです。 –

1

また、単純なlibではありませんが、JAX-RSの実装(Jersey、RESTeasyなど)は、簡単な方法で生成し、消費することができますJSONとXMLの両方。要求されているメディアタイプに基づいて透過的にバックエンドライブラリの選択を処理します。

ファサードを構築することもやはり簡単です。まず、xmlにはJAXB、JSONにはJacksonを使用します。どちらもInputStreamまたはReaderを使用し、OutputStreamまたはWriterを使用して出力することができます。両方とも、データバインディングではかなりうまく機能します。

関連する問題