問題タブ [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.

0 投票する
3 に答える
1237 参照

applet - 署名されていないアプレットから(署名せずに)JAXBを使用するにはどうすればよいですか?

署名されていないアプレット内からJavaオブジェクトをXMLに、またはその逆にマーシャリングしたいのですが、セキュリティ許可/ポリシーファイルを変更したり、アプリケーションに署名したりすることはできません。

JAXBがアプレットサンドボックスにないフィールドまたはコンストラクターにアクセスしようとしているため、セキュリティ例外が発生しているようです。

ブラウザはJRE1.6.0_17を実行しています

他のXML(またはJSON)ライブラリに基づくソリューションも受け入れていますが、次のことを試しましたが、ほとんど同様の問題が発生しました。-XStream-Gson

次のオブジェクト(のようなもの)が与えられます:

そして、次の単純なJAXBコード:

次の例外が発生します。

0 投票する
1 に答える
239 参照

serialization - Xstream/HTTP サービス

ライブラリとして実行されている同じ豊富な機能のバックエンドを使用する複数の Web サイトを実行しています。バックエンドは複数のコンポーネントで構成されており、それらの間で多くのオブジェクトが共有されています。ここで、セキュリティ上の理由から、ステートレス ルール実行コンポーネントを別のコンテナーに分離する必要があります。(新しいインターフェースとオブジェクト/アダプターを定義するのではなく) ルール コンポーネントですべてのバックエンド オブジェクトにシームレスにアクセスできれば素晴らしいと思います。

ネットワーク経由での Java pojo (一部は休止状態の Bean) の受け渡しをシームレスにサポートする RPC メカニズムを使用したいと考えています。JAXB や Axis などの Web サービスでは、オブジェクトごとにかなりのボイラー プレートと構成が必要です。Java シリアライゼーションを使用しているものは単純に見えますが、後方/前方互換性の問題が心配です。

オブジェクトを永続ストアにシリアライズするために Xstream を使用しており、これまでのところ満足しています。しかし、一般的な rpc/webservice フレームワークのいずれも、シリアライゼーションに xstream を使用していないようです。xstream を使用し、カスタム実装を使用して HTTP 経由でオブジェクトを送信しても問題ありませんか? またはJavaシリアライゼーションは機能しますか、それともより良い代替手段がありますか?

アドバイスありがとうございます。

0 投票する
4 に答える
804 参照

java - Java の XStream プライベート属性

オブジェクト値は非公開であるため、XStream はどのようにオブジェクト値を取得しますか?

また、stackoverflow で自分のコードを強調表示してインデントするにはどうすればよいですか?

0 投票する
2 に答える
2916 参照

java - プライベート内部クラスのエイリアスを作成する方法 (XStream を使用)?

長いクラス名のエイリアスを作成しています...完全に正常に機能しますが、シリアル化されたクラスの1つがプライベート内部クラスです。公開する以外にエイリアスを作成する方法が思いつきません。そもそも公開すべきではないため、このソリューションは好きではありません。ただし、エイリアスを作成すると、XML ファイルを変更せずにパッケージ名とクラス名を変更できるようになります (最初のタグが完全修飾クラス名であるため)。

これは私がエイリアスを作成する方法です:

そのため、その内部クラスへのパブリック アクセスが必要です。

ですから、プライベートな内部クラスに別名を付けるためのトリックを知っている人がいたら、ぜひ教えてください。

0 投票する
1 に答える
2478 参照

java - XStreamを使用してjava.lang.Integerに別名を付ける方法は?

XStream の出力を微調整していると、次のようになります。

そこで、java.lang.Integer.class のエイリアスを作成しようとしましたが、うまくいきません。他の多くのクラスのエイリアスを作成しましたが、問題なく動作します。エイリアスも試しましたint.class。運がない。

トリックは何ですか?

ありがとう!

編集

この質問が十分に明確ではないことに気付きました。私が興味を持っているのは、要素名に別名を付けないことです(XStream はすでにそれをうまく行っています)。要素に含まれるデータにエイリアスを設定したい。例のようなものはありません:

ここに私が作ったテストがあります:

どの出力:

ご覧のとおり、要素名は適切にエイリアス化されていますが (2 番目のリスト)、それをデータとして使用すると、クラス名を短縮する方法が見つかりません。関連する XStream.alias* メソッドのほとんどを試しました。私が望むのは(最初のリストの場合)のようなものです:

正直なところ、今のところ、これがかなり大きなハックなしで可能であるとは思えませんが、少なくともアイデアを共有しています.

0 投票する
1 に答える
568 参照

xml - Xstream : 子要素あり

XStream を使用して、子要素を使用してオブジェクトを XML にシリアライズしたいと考えています。誰でも私を助けることができますか?

0 投票する
2 に答える
3122 参照

java - RESTlet を使用すると、XStream アノテーションは効果がないように見える

POJO で @XStreamOmitField を使用しても、まったく効果がないようです。注釈付きフィールドは引き続き xml または json 表現で公開されます。

および ServerResource で

私を取得します

注釈が無視される理由はありますか?

0 投票する
3 に答える
6662 参照

java - XStream:xml混合属性と要素をPOJOにマップするにはどうすればよいですか?

これは初心者の質問に違いありませんが、http: //x-stream.github.io/からは取得できませんでした。

さて、私は次のxml文字列を持っています

次の場所にマッピングする必要があります。

XStreamを使用してそれを行う簡単な方法はありますか?そうでない場合、他に何を試すことができますか?

前もって感謝します。

0 投票する
2 に答える
553 参照

xml-serialization - Xstreamをtweekして、属性と値を含むXMLからJavaオブジェクトを処理するにはどうすればよいですか?

たとえば、このように記述されたXMLからオブジェクトをどのように形成しますか?

私は通常、「名前」への注釈を使用してクラスのエイリアスを作成し、名前の長さとフィールドを設定します。ただし、2番目のフィールドには名前がないため、これは機能しません。

*紛らわしい言葉遣いを編集する

0 投票する
2 に答える
3718 参照

java - XStream JavaBeanConverter がプロパティをシリアル化しない

XStream の JavaBeanConverter を使用しようとすると、問題が発生します。ほとんどの場合、単純なものが欠けているか、XStream のコンバーターの処理が十分に理解されていません。

メソッドにトレースを追加しようとしましたTestObject.getFoo()が、XStream によって呼び出されているように見えますが、データは出力ストリームに書き込まれていません。

JavaBeanConverter のソースを見たところ、私の実装はうまくいくように見えますが、XStream のセットアップ中に何かを正しく構成していないと思います。

簡単なものが足りないだけですか?

ありがとう!


編集 1

また、役立つ場合は、次の Maven deps を使用しています...


編集 2

方法を変更してTestObject.getFoo()、目的をより適切に説明しました。

ゲッター/セッターを使用して、内部オブジェクトのデータの「サニテーション」を行おうとしています。具体的には、Serializable の readResolve() メソッドを実装する必要がないようにしながら、デシリアライズされた着信データをクリーンアップしようとしています。

readResolve のメソッドを実装した場合、setter メソッド (別の場所にあるデシリアライズされていない着信データ セット) と readResolve (デシリアライズした XML データ) の両方でクリーンアップを行う必要があります。

これが、私が XStream の通常のフィールド ベースのプラクティスの代わりに JavaBeanConverter を使用している理由です... getter/setter を介してデータを強制します。

うまくいけば、これでもう少しうまく説明できます。

ありがとう。