問題タブ [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.
java - サーブレットにアクセスするときの Tomcat java.lang.NoClassDefFoundError の下で?
私は Eclipse で Web アプリケーションを作成しており、XStream Serialization Library を使用して My JSON を生成しています。
サーブレットによって呼び出されるクラスに JSON を構築するコードをカプセル化しました。次に、カプセル化されたクラスにはテスト用のメインメソッドがあり、実行するとすべて正常に動作するようです。
ただし、サーブレットからクラスの呼び出しを使用するとjava.lang.NoClassDefFoundError
、XStream ライブラリをロードしていないというエラーが表示されます。ビルド パスが間違っていると思いますが、XStream ライブラリをプロジェクトのビルド パスに設定したので、動作するはずです。
ここで何がうまくいかない可能性がありますか?
以下は正確な例外です。
xstream クラスを使用する関連コードは次のとおりです。
このコードは、Java アプリケーションとして実行すると問題なく動作することを強調します。これは、ライブラリのロードに関係していると確信しています。どこが間違っているのかわかりません。
java - Document または Node から InputStream を作成する方法
xstream で使用する XML ドキュメントまたはノード オブジェクトから InputStream オブジェクトを作成するにはどうすればよいですか? ??? を置き換える必要があります。意味のあるコードで。ありがとう。
java - XStreamできれいな印刷(空白/改行)を無効にする方法は?
これは、XML の XStream インスタンスを作成する方法です。
これは JSON の場合です。
どちらも出力をきれいに印刷 (インデント) しています。
きれいな印刷を無効にするように XStream に依頼するにはどうすればよいですか?
java - xstream で Google ジオコードを解析する
Java と XStream を使用して、http 経由で Google ジオコード リクエストを解析しています。私の考えは、すべてのジオコード属性 (つまり、緯度/経度、都市、州/州など) を持つ Address クラスを持つことですが、xstream で xml を解析する際に問題があります。
Google の応答は次のようになります。
うまく表示されませんが、コードの要は AddressDetails タグにあります。
とにかく、私は Java と XStream に慣れていないので、API の用語は少しわかりにくいです。これらすべてのタグ (つまり、CountryName) を Address オブジェクト内の属性 (つまり、address.country = blah) にマップするマッパーを作成できるようにする必要があるだけです。住所オブジェクトは非常に単純で、主に国の文字列だけです。名前などと緯度/経度の浮動小数点数。
ドキュメントと例は、各 xml タグがオブジェクトの同じ名前の属性に直接マップされるストレート マッピングを示しています。ただし、私の場合、タグはオブジェクトの属性とは異なる名前が付けられています。正しい方向への素早いポイントは、私が本当に探しているすべてです。
java - XStream fromXML() 例外
XStream パッケージを使用して Java で文字列をデシリアライズしようとしています。XStream パッケージは、私のクラスを正常にシリアライズできます。サーバーから XML (XML の形式を変更することはできません) を取得し、そのノード情報を特定のクラスの対応する変数に保存しようとします。私の関数は一番下にあり、XStream オブジェクトの新しいコンバーターを登録しようとしましたが (1 つの変数がバイト配列であるためだと考えていました)、まだ運がありません。誰でもこれらの例外に光を当てることができますか? 「MyClass」を登録し、XStream 用の独自のコンバーターを作成して、クラスの逆シリアル化を処理する必要がありますか? 前もって感謝します。
文字列または StringReader オブジェクトが入力として fromXML() に渡された場合の例外:
[致命的なエラー] :1:1: プロローグではコンテンツを使用できません。
com.thoughtworks.xstream.io.StreamException: : プロローグではコンテンツは許可されていません。
com.thoughtworks.xstream.io.xml.DomDriver.createReader(DomDriver.java:86)
com.thoughtworks.xstream.io.xml.DomDriver.createReader(DomDriver.java:66)
com.thoughtworks.xstream.XStream .fromXML(XStream.java:853)
ByteArrayInputStream が fromXML() への入力として使用される場合の例外:
com.thoughtworks.xstream.converters.ConversionException: ByteSize : ByteSize : ByteSize : ByteSize
---- デバッグ情報 ----
メッセージ : ByteSize : ByteSize
cause-exception : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message : ByteSize : ByteSize
クラス : MyClass
必須タイプ : MyClass
パス : /MyClass/ByteSize
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:89)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller. java:63)
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76) で
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60
)
で(AbstractTreeMarshallingStrategy.java:33)
com.thoughtworks.xstream.XStream.unmarshal(XStream.java:923)
com.thoughtworks.xstream.XStream.unmarshal(XStream.java:909)
com.thoughtworks.xstream.XStream. fromXML(XStream.java:861)
xml - XStream フレームワークを使用して UTF-8 をエンコードするにはどうすればよいですか?
XStream の FAQ によると、デフォルトのパーサーは UTF-8 ドキュメント エンコーディングを保持しないため、独自のエンコーダーを提供する必要があります。どうやってこれを行うのですか?
ありがとう!
java - XStreamはルートノードなしでJSONを解析します
現在、XStreamを使用してJSONを逆シリアル化していますが、うまく機能しています。ただし、次のようなJSON文字列がある場合
特に、ルートノードがないため、解析方法がわかりません。基本的に、逆シリアル化にはDROP_ROOT_NODEの反対が必要です。
c# - xstreamで生成されたxmlを.netに読み込む
java で実装されたxstreamを使用して xml を生成したいと考えています。次に、その xml を .net アプリケーションで使用し、C# クラスに逆シリアル化します。
誰かがこれを行うことに成功しましたか? ロールアップしなければならないものよりも簡単で堅牢にする C# 側で利用可能なフレームワークはありますか?