問題タブ [unmarshalling]
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 - JAXBエンティティへのアンマーシャリングエラー
XML ストリームをエンティティにアンマーシャリングする際に問題があります。私の外部キーは、適切な主キーを持つオブジェクトに設定されることはありません。空のオブジェクトに設定されるだけです。
外部キーを持つクラスは ProductBase と呼ばれます。BrandData (フィールド pkId) と Categories (フィールド pkId) への参照があります。非整列化して永続化すると、BrandData と Categories を問題なく処理できます。ProductBase で問題が発生しました。
ProductBase は次のとおりです。
以下のアンマーシャリング:
次のような ProductBase オブジェクトになりたいと思います。
しかし、私は得る
ProductBase p1: p1.pkId=88294 p1.brandData = (フィールド null ごとの brandData オブジェクト) p1.categories = (フィールド null ごとのカテゴリ オブジェクト) p1.ts = (値が 1970-01-01T05:22:35.06 の Date オブジェクト)
そのため、ProductBase を永続化しようとすると、null 値の問題が発生します。
これは、BradnData および Categories エンティティでの不適切な参照が原因であると期待していました。@XmlInverseReference アノテーションを使用してみましたが、うまくいきませんでした。問題が何であるか誰にもわかりますか?
BrandData エンティティ:
カテゴリ エンティティ:
serialization - Marshal.load の ClassNotFoundException
Scalaでマーシャルダンプとロードをしようとしています...
...しかし、Marshal.load への呼び出しは ClassNotFoundException をスローしています...
また、完全修飾クラス名を使用しようとしましたが、うまくいきませんでした。私は何が欠けていますか?
java - JAXB は複数の pojo にアンマーシャリングします
xml 要素を複数の pojo にアンマーシャリングできるかどうかを調べようとしていました。例えば:
XML の場合:
品目クラス
ItemDimensions クラス
Netbeans 6.9 によって生成された多数の JAXB マッピングと多数のテスト クラスを使用して同様のことを達成しようとしましたが、うまくいきませんでした。これが中間オブジェクトなしで実行できるものかどうかは誰にもわかりませんか?
java - JAXB アンマーシャリング中の ObjectFactory ロールとは何ですか?
単純な XML-REST ストリームを解析するために JAXB 2.2.2 を使用しています。これはコードの一部です:
ObjectFactory クラス:
応答クラス:
「com.example.entities」には、ObjectFactory クラスまたは jaxb.index が含まれている必要があります。pojo の初期化を決定するために ObjectFactory クラスを使用したいのですが、これらのクラスは使用されません。 Response クラスは常に class.newInstance() によって直接インスタンス化されます。これには何か問題がありますか?
validation - Jaxb2カスタム検証メッセージは可能ですか?
JaxB 2.xでカスタム検証メッセージを実行する方法を知っている人はいますか?私の必要性は、どのタグまたはオブジェクトプロパティがエラーを引き起こしたかを知ることです。すでにカスタムValidationEventHandlerがありますが、handleEventメソッドのValidationEventイベントパラメーターはノード情報を取得せず、XMLドキュメントのエラーに関連する行と列のみを取得します。私の意図は、よりユーザーフレンドリーなものでアンマーシャリングエラーメッセージをカスタマイズすることです。それを行う方法はありますか?
ありがとう!
java - Unmarshall中の無効なXML文字
エンコーディング「UTF-8」を使用してオブジェクトをXMLファイルにマーシャリングしています。ファイルを正常に生成します。しかし、それを元に戻そうとすると、エラーが発生します。
属性「{1}」の値に無効なXML文字(Unicode:0x {2})が見つかり、要素は「0」です。
文字は0x1Aまたは\u001aです。これは、UTF-8では有効ですが、XMLでは無効です。JAXBのMarshallerは、この文字をXMLファイルに書き込むことを許可しますが、Unmarshallerはそれを解析して戻すことはできません。別のエンコーディング(UTF-16、ASCIIなど)を使用しようとしましたが、それでもエラーが発生します。
一般的な解決策は、XML解析の前に、この無効な文字を削除/置換することです。しかし、このキャラクターを元に戻す必要がある場合、マーシャリングを解除した後に元のキャラクターを取得するにはどうすればよいですか?
この解決策を探している間、マーシャリングを解除する前に、無効な文字を置換文字(たとえば、dot = "。")に置き換えたいと思います。
私はこのクラスを作成しました:
次に、これが私がファイルを読み取ってマーシャリング解除する方法です。
どういうわけか、リーダーは無効な文字を私が望む文字に置き換えません。誤ったXMLデータが生成され、マーシャリングを解除できません。InvalidXMLCharacterFilterReaderクラスに何か問題がありますか?
java - jaxb アノテーションを使用して、Jersey を使用して json を Java Bean にアンマーシャリングするときに、いくつかの間接化を使用する方法
(Jira restful Web サービスから) 受信した json を非整列化しようとしています。
問題は次のとおりです。「問題」には「概要」プロパティとフィールドのリストがあります。
Summary は、受信した json の属性としてではなく、"fields" 属性の値として存在します。私はこの構造にアンマーシャリングすることを主張します:
受信した JSON:
Jira 独自のクライアントを使用したくありません (アプリに必要のない依存関係が多すぎます)。
編集: 明確にするために別の方法で質問しました: jax-rs を使用して Bean 構造を別のスキーマにマップする方法
java - アクシスマーシャラー
wsdl2java (Axis 1.4) を使用して作成されたクラスのグループがあり、文字列とオブジェクトとの間でデータをアンマーシャリングおよびマーシャリングする方法を探しています。xjc を使用してクラスを作成したが、古い軸クラスを変換する時間がなく、コードのマーシャル/アンマーシャル ソリューションをそのまま見つける必要があるため、新しい内部オブジェクトの一部でうまく機能する JAXB アンマーシャラーを作成しました。 .
誰かが私に方向を教えてくれませんか。
ありがとう!
java - 複合型の JAXB 値
* *編集 - 最後に、これを機能させるために抽象的な拡張機能を削除しました.Blaiseからの以下の回答が機能します
こんにちは。
スキーマに複合型があります。
アンマーシャリングする入力はこれです
しかし、これを行うと、xjc から生成されたクラスから値: workflowHTML.xml にアクセスするオプションがありません。これは、生成された AbstractWorkflow クラスの始まりです。抽象クラスを拡張して、それ自体が値を持つ要素であることを指定するために、このクラスで宣言できる注釈はありますか? FIELD として宣言すべきではありませんか?
編集するのは、もともとここにあった抽象クラスではなく、値の読み取りを実装する必要がある拡張クラスです。
読んでくれてありがとう。
arrays - jaxb2Marshallerは、XMLを空のバイトarraにアンマーシャリングします
ここに問題があります。私はSpring3.0.4を使用してRESTWebサービスを作成しています(実際、私は初心者です)。クライアントからXML表現として渡されたHibernateを介してオブジェクトを永続化したいと思います。このタスクを実行するために、jaxb2を使用します。
クライアントが送信するオブジェクトは、データとメタデータという2つの息子オブジェクトを持つノードです。
問題は、クライアントがXMLを送信するときに、SIUserDataが予測不可能なbyte []配列にマーシャリングされないことです。入力の一部が切り取られることもあれば、単に空になることもあります。
たとえば、この入力
StorageInterfaceDataコンテンツ属性が空のオブジェクトではマーシャリングされていません。
文字列の終わりにStorageInterfaceDataコンテンツ属性のタイプを変更しようとしたので、問題はbyte []の処理に影響を与えると思います。すべてが正常に機能します:S。
それはコードに従います。
ノード
データ
バルクオブジェクト
メタデータクラスは、冗長になりすぎないように省略されています。誰かが物事をクリアしてくれませんか?