問題タブ [jettison]
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.
json - RestEasy/Jettison/JBossAS7 でルート要素を使用した JSON シリアル化が機能しない
RestEasy と Jettison プロバイダーが有効になっている JBoss AS 7.1 で動作するように、ルート要素を使用して JSON シリアル化を作成する方法を必死に探しています。
RestEasy のドキュメントによると、JSON ルート要素を返すことは機能するはずですが、REST サーブレットを要求するときに取得することはありません。
オブジェクト ファクトリを使用します。
次の XML オブジェクトを使用します。
ルート要素「notificationList」で通知リストが返されることを期待していますが、取得できません。デフォルトで Jettison プロバイダーを使用していますが、Jackson にも切り替えました。どちらも私にはうまくいきません。
言及する価値があるかもしれませんが、REST メソッドはオブジェクト自体を返すのではなく、AsynchronousResponse を別のオブジェクトに渡します。別のオブジェクトは処理し、最終的に JSON オブジェクトを返します。応答を作成するときに AsynchronousResponse を使用します。
編集: 実際に NotificationList を使用しているクラスに関する詳細情報:
次の REST クラスは、NotificationChannel クラス (ここでは重要ではありません) を使用し、非同期応答オブジェクトを別のクラスに渡します。この応答オブジェクトは、最終的に NotificationList を返します。簡単に説明すると、次のようになります。
レスポンスは次のように作成されて返されます。
クライアント側では、次の応答が期待されます。
しかし、私はこれを取得します(RootElement名も通知オブジェクト名もありません):
jax-rs - JAX-RS: resteasy-jettison 用のカスタム TypeConverter
resteasy-jettison でカスタム TypeConverter を提供する方法はありますか? デフォルトでは、数値のみが含まれている場合、jettison parse String 値を int に変換します...変更する必要があります。
クリーンなジェティソンでは、TypeConverter の独自の実装を作成する可能性があります (ジェティソンのユーザー ガイドに記載されています ... しかし、そのようなクラスでジェティソンの構成をどこで更新できるかわかりません。
java - JettisonMappedXmlDriver と XStream によるプリティ プリント
XStreamでシリアライズしています。XML には StaxDriver を使用し、JSON には JettisonMappedXmlDriver を使用します。
XML ではきれいな印刷が得られますが、JSON ではきれいな印刷は得られません。
コードをこのままにしておくと、JSON の代わりに XML が返されます。JSON を取得するには、このようにコードを書き直さなければなりませんでしたが、きれいに印刷されていません。
JettisonMappedXmlDriver を使用して JSON できれいに印刷する方法を知っていますか?
XStream のドキュメントには、それに関する情報はありません。
http://x-stream.github.io/json-tutorial.html
しかし、シリアライズとデシリアライズ (JettisonMappedXmlDriver) を可能にしたい場合、XStream を使用してかなり印刷された JSON を取得する方法がないとは信じられません...
ありがとう!
xml - XStream を使用して Spring MVC 出力を取得し、JSON を XML に変換する方法
Acceptヘッダーに渡されたときにSpring MVC (3.0.5)
その出力JSON
を使用するWebアプリケーションがあります。を使用して出力したいのですが、基になる Java オブジェクトの代わりに、既にカスタマイズした表現を使用したいと考えています。HttpMessageConverter
application/json
XML
XStream
JSON
私の春の設定は次のようになります
もう 1 つ追加して Java オブジェクトから出力XStreamMashaller
を取得することはできXML
ますが、それは別の表現であり、2 つの表現を同期させる努力はしたくありません。のようなものを使用してJSON
変換される表現を使用したい。これをどのように達成できるかについて、誰かがリンクまたはサンプルコードに案内してくれますか?XML
Jettison
xml - JAXB は Java List をオブジェクトのセットに変換するため、リストの順序が失われます
次の XML のような UI コントロールの XML スキーマがあります。
InputParameters
(別の JAXB 要素内のフィールド) を宣言する方法は次のとおりです。
ここでいくつかの重要なポイント:
- アイテムの順序
InputParameters
は重要です Combobox
Radiobutton
すべてがスキーマ内で同じ置換グループ ヘッドを持っています(InputComponent
)
次の点にも注目する価値があります。
InputParameters
Map
@name属性が(一意の)キーであると考えることができます(そしてそうです)- 順序が重要なので、これは Java でなければなりません
LinkedHashMap
マーシャリングからの XML 出力 (上に表示) は問題ありません。私が問題を抱えているのは、JAX-RS がこれを JSON として出力するときです。
JSON では、出力は次のようになります。
ここでの問題は次のとおりです。
InputParameters
オブジェクトには「Combobox」という名前の複数のプロパティがありますInputParameters
は配列ではなくオブジェクトであるため、アイテムの順序は表現されません
質問はこれに要約されます: JAXB にInputParameters
(順序付けされていない) オブジェクトのセットではなく (順序付けられた) 配列としてコンテンツを出力させることはできますか? それとも、私が考慮すべき非常に異なるアプローチがあるのでしょうか?
目的の JSON 出力は次のようになります。
JAXB の参照実装を使用しています。
java - Jettison を介して Java オブジェクト (@XmlRootElement なし) を JSON にマーシャリングする
Jettison を使用して、JAXB オブジェクト (@XmlRootElement を含む) を JSON にマーシャリングしました。しかし、@XmlRootElement のようなアノテーションを持たない単純な Java オブジェクトを JSON に変換することはできません。「オブジェクトをJSONにマーシャリングするには、その@XmlRootElementが必須ですか?」と知りたいです。
Java オブジェクトを Json にマーシャリングしようとすると、次の例外が発生します。
問題は何ですか?
java - JETTISONを使用してPOJOをJSONにマーシャリングする方法は?
JETTISON を使用して JaxB Java オブジェクトを Json にマーシャリングしました。しかし、JETTISON を使用して単純な Java オブジェクト (注釈を持たない) を Json にマーシャリングすることはできません。GSON、MOXy、またはその他のプロバイダーを使用してそれを行うことが可能であることは知っています。
しかし、私は「JETTISON を使用してそれを行うことができますか?」と明確にするのが好きです。できる場合、どのように行うか?
前もって感謝します。
json - json からのネストされたオブジェクトのアンマーシャリング
入力 JSON 文字列があり、JAXB アノテーション付きオブジェクトにアンマーシャリングする必要があります。私はこれを行うためにjettisonを使用しています。JSON 文字列は次のようになります。
ObjectA コードは次のようになります。
ObjectB クラスのコードは次のようになります。
アンマーシャリングに使用されるコード:
例外や警告はスローされません。ObjectB はインスタンス化されていますが、そのプロパティの値が設定されていません。つまり、propertyA は null であり、propertyB はデフォルト値の false を取得しています。なぜこれが機能しないのかを理解するのに苦労しています。誰か助けてくれませんか?
java - 値が数値の場合、文字列データ型を整数型に変換するjsonマーシャリングを使用したJettison
JaxB を Json に変換するために、jettison-1.3.3 を使用しています。
問題に直面しています。すべての数値を含む String プロパティ (つまり、String phone="12345";) がある場合、JSON 応答では、二重引用符なしで数値 (12345) として表示されます。
値が 1234AS の場合、この場合は二重引用符で返されます。これを修正する方法と、常に二重引用符があることを確認してください。
助けてください