問題タブ [jackson]
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 - JSON 文字列をマップに変換する方法ジャクソンJSONと
私はこのようなことをしようとしていますが、うまくいきません:
しかし、IDE は次のように述べています。
未チェックの割り当て
Map to Map<String,String>
これを行う正しい方法は何ですか?私はJacksonのみを使用しています.JSONとの間で変換するネイティブJavaの方法はありますか?
PHP では、単純json_decode($str)
に配列を取得します。ここでも基本的に同じものが必要です。
java - 内部クラスを使用しない Json Jackson の逆シリアル化
Jackson を使用した Json デシリアライズについて質問があります。次のようなクラスを使用してJsonファイルを逆シリアル化したいと思います:( http://wiki.fasterxml.com/JacksonInFiveMinutesから取得)
Json ファイルは、いわゆる「フル データ バインディング」を使用して、次のように逆シリアル化できます。
私の問題は、内部クラス「名前」の使用です。内部クラスを使用せずに同じことをしたいと思います。「ユーザー」クラスは次のようになります。
これは、逆シリアル化を実行するために必要なすべてのクラスをマッパーに指定する方法を見つけることを意味します。
これは可能ですか?ドキュメントを見ましたが、解決策が見つかりません。
私が必要としているのは、Javassist ライブラリを使用してそのようなクラスを作成し、内部クラスまたは匿名クラスをサポートしていないという事実から来ています。
前もって感謝します
json - Jacksonで不明なJSONプロパティを処理する
不明なフィールドを持つjsonをオブジェクトに逆シリアル化するには、@JsonAnySetterがあります。
しかし、そのようなjsonをオブジェクトに読み込んで、いくつかの既知のフィールドを変更し、それをjsonに書き戻すとどうなりますか?不明なプロパティは失われます。
そのような場合をどのように処理しますか?オブジェクトをマッピングすることは可能ですか、それともデータをJsonNodeまたはMapに読み込む必要がありますか?
android - 警告: このクラスは、壊れたコンパイラによって生成された可能性があります
Android プロジェクトに Jacson ライブラリを追加しましたが、コンソールに次のような警告が表示されます。
警告: EnclosureMethod 属性が関連付けられていない匿名内部クラスの InnerClasses 属性は無視されます。(このクラスは、壊れたコンパイラによって生成された可能性があります。)
ライブラリを再コンパイルしようとしましたが、役に立ちませんでした。これらのライブラリをプロジェクトから削除すると、警告はなくなりました。デバイス上ではすべて正常に動作していますが、これは私を悩ませます ;)
解決策をご存知ですか?私はエクリプスを使用しています。
java - Jackson - プロパティのシリアル化 (書き込み) を動的に抑制する
Jackson を使用して、Tomcat/jersey で Java オブジェクトを JSON オブジェクトに変換しようとしています。また、特定のプロパティのシリアル化 (書き込み) を動的に抑制したい。
JsonIgnore を使用できますが、実行時に無視の決定を下したいと考えています。何か案は??
以下の例のように、User オブジェクトを JSON にシリアル化するときに「id」フィールドを抑制したいと考えています。
java - Android の Restlet/JSON/Jackson との互換性
私は現在、Android 用の webservice-client に取り組んでいます。サービスとのやり取りの抽象化を提供する Java クライアント ライブラリを使用しています。クライアント ライブラリは通常のマシンで動作します。ただし、Android プロジェクトでクラスを使用すると、一部の呼び出しが Android で結果を返さず、これらのコマンドの最初でバックグラウンド サービスが機能しなくなります。Wireshark は tcp 交換を示し、サーバーは要求を取得します。例外も何もありません。シリアライゼーション/デシリアライゼーション シームの何かが機能しません。私は最新バージョンの Jackson ライブラリ (1.5.3) と Android 版の restlet jar を使用しています。Jackson と Android に既知の問題はありますか? Android と互換性のあるコードとライブラリはどれですか?
java - Jackson jsonライブラリでpeek()を実行するにはどうすればよいですか?
JacksonライブラリのStreamingAPIJsonParserを使用して、Javaでカスタムjson解析を実行しています。
peek()
次のトークンが返されるがカーソル位置が前方に移動しないメソッドと同様の機能を実現する方法はありますか?
この使用例は次のようになります。
Jacksonで見たコード例ではnextToken()
、上記の場合のメソッドを使用していますが、残念ながら、カーソルがストリーム内で前方に移動します。
ジャクソンをそのまま使用して可能ですpeek()
か、それとも追加の方法で実現できますか?
NB。他のライブラリには興味がないので、「ライブラリxはこれをすべて実行し、キッチンシンク」タイプの回答はありません。
java - Jackson が @JsonCreator アノテーションを認識しない
現在、Jackson 1.4.2 を使用しcode
ており、UI から Java コントローラー (サーブレット) に戻される値 (型情報の一意の識別子) の逆シリアル化を試みています。
複数の型 (ABCType
などXYZType
) がすべて から拡張されてAbstractType
いますが、それぞれの具体的な型には、単一のパラメーターとして一意の識別子を取り、型オブジェクト (名前、関連付けられた型、説明、有効な頭字語など) その識別子によって表されます。各具象型 (例: XYZType
) 内の静的メソッドには、次の注釈が付けられ@JsonCreator
ます。
私が見ている問題は、Jackson のマッパーが json をこれらの型に逆シリアル化しようとして例外をスローすることです。
原因: org.codehaus.jackson.map.JsonMappingException: 型 [単純型、クラス com.company.type.XYZtype] のデフォルト コンストラクターが見つかりません: Json オブジェクトからインスタンス化できません。
静的ファクトリ メソッドへの注釈について、ここで何が欠けています@JsonCreator
か (または、Jackson 1.4.2 が から拡張された具体的な型に苦労しているためAbstractType
ですか?)?
json - HashMapでnull値のシリアル化を回避する方法は?
JacksonJSONプロセッサを介してHashMapを文字列としてシリアル化したいと思います。例えば:
Mapのnull値のシリアル化を無効にする方法がわかりません。ジャクソンを次のように構成すると、POJOでのみ正常に機能します。
json - すべての数値をデシリアライズしてロングにキャストする方法は?
値が Integer の範囲内にある場合、Jackson はすべての数値をデシリアライズして Integer にキャストし、代わりに Long にキャストします。すべての値を Long にキャストしたいと思います。問題の簡単な解決策はありますか?