問題タブ [xstream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
converter - XStream のカスタム コンバーター
オブジェクトを XML 形式にシリアル化するために XStream を使用しています。私が取得したフォーマットされた xml は次のとおりです: node1、node2、node 3 は pojo,DetailDollars の属性です
100/25 などのパーセンテージを計算し、新しいノードを既存のノードに追加する必要があるという要件があります。したがって、最終的な出力は次のようになります。
カスタム コンバーターを作成し、xstream オブジェクトに登録しました。
しかし、取得した xml ストリームには新しいノードしかありません。
どの xstream API が目的のフォーマットを取得できるかわかりません。これで私を助けてくれませんか。
serialization - XStream <-> 代替バイナリ形式 (プロトコル バッファなど)
現在、Web サービスの入力/出力を XML でエンコードするために XStream を使用しています。ただし、複数の言語 (protobuf、Thrift、Hessian など) 用のコード ジェネレーターを使用してバイナリ形式に切り替えることを検討しています。これにより、新しいクライアントのサポートがより簡単になり、ハンド コーディングへの依存度が低くなります (また、バイナリ データを含むメッセージ形式をより適切にサポートするため)。 .
ただし、サーバー上のオブジェクトのほとんどは、XStream がリフレクションと注釈を介してシリアル化を処理する POJO であり、これらのライブラリのほとんどは、POJO 自体を生成すると想定しています。代替ライブラリに接続する方法はいくつか考えられます。
ターゲット形式の XStream マーシャラーを記述します。
代替ライブラリによって生成されたクラスとの間で POJO をマーシャリングするカスタム コードを記述します。
生成されたクラスをサブクラス化して、POJO ロジックを実装します。書き直しが必要な場合があります。(また、テラコッタを使いたいと言いましたか?)
リフレクション (XStream など) とコード生成の両方をサポートする別のライブラリを使用します。
ただし、どのシリアライゼーション ライブラリが上記の手法に最適かはわかりません。
xml - XStream は属性と値を同時に解析します
私は次のXMLを持っています
そしてシティクラス
XMLを解析するために次のエイリアスを試しました
しかし、取得した XML で City オブジェクトを変換しようとすると、「loc」タグの値を設定する方法がわかりません。
本当にこれを手に入れる必要があるとき
次に、XML を City オブジェクトに解析しようとすると、null 値を持つフィールド「name」が取得されます。
これを行うために正しいエイリアスを設定する方法を知っている人はいますか? 前もって感謝します。
java - xStreamを使用してListプロパティを持つJavaオブジェクトを出力するにはどうすればよいですか?
いくつかのJavaオブジェクトをJSONとして出力しようとしていますが、それらには{"People":[{"Name": "Bob"}、{"Name":"Jim"}]}としてフォーマットしたいListプロパティがあります。
ただし、XStreamでこれを行う方法がわかりません。常に{"Person":{"Name": "Bob"}、 "Person":{"Name":"Bob"}として出力されます
これを修正する方法はありますか?より具体的なものが必要な場合は、githubでユニットテストを使用してサンプルコードをまとめました:http://gist.github.com/371358
ありがとう!
xml - xml と json を返すための XStream マーシャリングの問題
私が使うとき
次のxmlを返します...
そして、私が使用するとき
次のjsonを返します...
さて、クラス属性を完全に取り除きたいので(他のものとエイリアスするのではなく、それを削除するために読んでください)、次のコードを使用します。
次のxmlを提供します...
しかし、上記の xStream オブジェクトの作成中に new JsonHierarchicalStreamDriver() を渡すと、json が返されません。上記と同じ xml を返します。
ここで何が間違っているのですか?
前もって感謝します...
xml - xstream と iPhone SDK 間の Base64 エンコード/デコード
XML で Java サーバーから iPad クライアントにバイト配列を渡しています。サーバーはxstreamを使用して、バイト配列を EncodedByteArrayConverter で XML に変換します。これにより、配列が Base 64 に変換されます。xstream を使用すると、Java クライアントで xml を適切なバイト配列にデコードできますが、iPad クライアントでは、長さが無効であるというエラーが表示されます。デコードを行うために、このページの下部にあるコードを使用しています。文字列の長さは実際にはありません4の倍数なので、私の文字列には何か奇妙なものがあるに違いありません.xstreamはそれをうまくデコードできるので、iPad側でデコードする必要があるだけだと思います. 文字列の末尾のパディングを切り取って適切なサイズにしようとしましたが、これによりデコーダーは機能しますが、無効なヘッダーを持つ JPG になり、表示できなくなります。
サーバー側では、次のコードを使用しています。
クライアント側では、次のように XML 解析コールバックから上記のデコーダーを呼び出しています。
何がうまくいかないのでしょうか?
java - XStreamに1つの特定のプライベート変数を無視させる
現在保存関数を作成しているクラスに少し問題があります。
XStream(com.thoughtworks.xstream)を使用して、DOMDriverを使用してクラスをXMLにシリアル化します。
クラスは次のようになります。
したがって、ここでの問題は、worldをシリアル化するときにConfigurationをシリアル化するのではなく、fromXml()を呼び出すときにXStreamに事前に構築されたConfigurationインスタンスを提供したいということです。
ここでの問題は主にクラスの設計です。構成はGUIクラスへのプライベート参照を保持するため、構成をシリアル化することは、アプリケーション全体をGUIなどで完全にシリアル化することを意味します。
プライベートフィールド構成をシリアル化しないようにXStreamに指示し、ロード時に使用する構成インスタンスをXStreamに提供する方法はありますか?
ダニエルの挨拶
java - XStream シリアライズ可能オブジェクト
現在、Serializable を実装していないオブジェクトの一部をシリアル化するために XStream を使用しています。オブジェクトが Serializable を実装している場合は Java のデフォルトのシリアライゼーションを使用し、そうでない場合は XML シリアライゼーションにフォールバックするように XStream に指示する方法はありますか? または、チェックするためにその上に単純なレイヤーを実装する必要がありますか?
ありがとう、ジェフ
java - XStreamを使用して、個別の「成功」フォームと「失敗」フォームでXML応答を逆シリアル化しますか?
XStreamとJavaを使用して、オブジェクトとXML要求、およびXML応答とオブジェクトを変換することを計画しています。XMLはHTTP/HTTPSを介して流れます。応答側では、あるJavaクラスにマップされるように見える「成功」応答、または別のJavaクラスにマップされるように見える「失敗」応答を取得できます。
たとえば、「ファイルリスト」リクエストの場合、肯定的な応答を受け取ることができます。
または私は否定的な応答を得ることができます例えば、
これを処理するには、両方の場合に1つのクラスにフィールドを含める必要がありますか、それともXStreamを使用して2つの潜在的なクラスの1つを「条件付きで」作成する必要がありますか?
同じオブジェクトに両方の応答ケースのフィールドがある場合は、次のようになります。
「成功またはエラーの場合にXStreamを使用して、さまざまなオブジェクトを作成する」とはどのようなものかわかりません。どういうわけかそれを行うことは可能ですか?それは良い方法ですか、それとも悪い方法ですか?
とにかく、この成功と失敗の応答のケースに対処するためにXStreamを使用して処理する方法についてのアドバイスをいただければ幸いです。前もって感謝します!
java - Xstream で異なる結果が得られる
安らかなサービスに XStream を使用しています。ただし、Xstream では、同じ値を持つフィールドに対してさまざまな結果が得られます。それを想定 Book オブジェクト:
このためのjsonは次のとおりです。
ただし、著者をコレクションに追加すると、別の結果が得られます。
誰かがこの問題に遭遇し、解決策を知っていますか?