問題タブ [fasterxml]
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 - ナノ秒値でJacksonを使用することは可能ですか
オブジェクトから json への解析、およびその逆の解析中に、ナノ秒で作業するのに想像を絶する最悪の時間を過ごしました。Jackson の最も単純な使用法を作成しましたが、ナノ秒を取得できません。以下は私のデモンストレーションです。私のケースに関連するfasterxml FAQには、3つの重要な声明があります。最初の 2 つは、動作させるためのトリックを教えてくれます。3 番目は、使用しないように指示しますsql.Date
がsql.timestamp
、sql.Date
.
問題は次のとおりです。
まず、
まったく効果がmapper.configure(DeserializationFeature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS,true)
ありません。、 、使用しなくても@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss.SSSSSS")
、使用してもしなくても結果は同じです。false
true
mapper.configure
@JsonFormat
第 2 に、Deserialize のみを試みる場合、つまり、 に値2015-01-07 11:37:52.390452
を入力してuser.json
実行するだけでmapper.readValue
value が取得される2015-01-07 11:44:22.452
ため、Jacskon が切り上げられるため、正確な値を見逃してしまいます。
http://wiki.fasterxml.com/JacksonFAQDateHandlingから
1 - Feature.WRITE_DATES_AS_TIMESTAMPS、false); タイムスタンプ (数字) の使用を無効にし、代わりに [ISO-8601] 準拠の表記法を使用して、「1970-01-01T00:00:00.000+0000」のような出力を取得します。
2 - java.text.DateFormat を渡すことで書式設定を構成できます
3 - java.sql.Date は絶対に使用しないでください。
//ポジョ
//メインクラス
//pom (該当部分のみ)
//コンソール
java - Fasterxml Jackson ArrayNode のサブ配列を取得する
Javaのfasterxml jacksonでArrayNodeオブジェクトのサブ配列を取得する必要があります。
より明確にするために、
- たとえば、100個のオブジェクトを含むfasterxml jackson ArrayNodeオブジェクトがあります。
- たとえば、5としましょう。
以下に示すように、非常に原始的な方法でそれを行うことができます。
/li>
ArrayNode タイプにキャストされた「recProducts」オブジェクトは、fasterxml jackson JsonNode であり、配列が含まれています。
上記は機能しますが、ArrayNode オブジェクトを 1 つずつ削除する際に、内側の while ループが「arrayNodeSize - limit」回実行されるため、非常に非効率的です。
ArrayNode またはキャストされた JsonNode 自体で実行できるサブ配列操作はありますか?
ありがとうございます。
java - ObjectMapper Jackson でジェネリック型を逆シリアル化する方法
コードを単純化しようとして苦労しています。API にリクエストを送信し、JSON オブジェクトを取得する一般的な操作があります。これjson
はCategories
、Products
などの場合があります。私は jackson を使用していObjectMapper
ます。
現在、リクエストごとにメソッドを持っていますが、1 つのメソッドに簡略化したいと考えています。例えば。
この一般的な方法の 1 つは次のとおりです。
すべてのメソッドで変わるのは、取得するオブジェクトのタイプです。
ラインを一般化することができます
することが
ここClass<T> class
に示すように、メソッドにパラメーターとして追加しようとしましたが、エラーが発生しますCannot find symbol T
java - JSON の子を逆シリアル化するときの「適切なコンストラクターがありません」エラー
私は、fasterxml/jackson を使用して、json 構造を pojo にマップしようとしています。
私のjsonはファイルから取得され、次のようになります。
グループに興味があります。したがって、クラス Groups を作成しました。
通常、私はこのコードを使用してjsonをpojoにマップしています:
pojo が外側の json オブジェクトである場合、これは正常に機能します。しかし、グループを抽出しようとすると、次のエラーで失敗します
"no suitable constructor"
。
JSON構造にネストされたpojoを抽出するにはどうすればよいですか?
jackson - 複数の構成を使用する Jackson objectMapper
クラス B を含むクラス A の 2 つのクラスがあります。json をクラス A タイプにアンマーシャリングする必要がありますが、クラス A にはデシリアライゼーション機能のセットが 1 つ、クラス B には別のセットが必要です。出来ますか?それを行う最善の方法は何ですか?どうも!
java - FasterXML ライブラリを使用して POJO のリストをシリアル化する方法
POJO をシリアル化するために FasterXML を使用しています。POJO のリストをシリアライズしたいと考えています。signle POJO をシリアライズすると、予想される xml が得られます (問題が 1 つあります --> 質問 2) ここに私のコードを示します。
私はこれを得る:
ここに私が欲しいものがあります:
また
映画を連載すると、次のようになります。
これを取得することは可能ですか: