タグ付けされた質問 「jackson」

ジャクソンは、読み取りと書き込み(解析/生成)やJavaオブジェクトとのデータバインディングなどのタスクを処理するためのJavaライブラリです。Jacksonは主にJSONに使用されますが、Avro、CBOR、CSV、Javaプロパティ、Protobuf、Smile、XML、YAMLなど、他の多くのデータ形式もサポートしています。

8
Jacksonを使用してオブジェクトの配列を逆シリアル化する方法
ジャクソンデータバインディングドキュメントはジャクソンサポート「はサポートされているすべての型の配列を」deserialisingことを示しているが、私はこのために正確な構文を把握することはできません。 単一のオブジェクトの場合、これを行います。 //json input { "id" : "junk", "stuff" : "things" } //Java MyClass instance = objectMapper.readValue(json, MyClass.class); 配列について、これを実行したい: //json input [{ "id" : "junk", "stuff" : "things" }, { "id" : "spam", "stuff" : "eggs" }] //Java List<MyClass> entries = ? 魔法の欠けているコマンドがあるかどうか誰でも知っていますか?そうでない場合、解決策は何ですか?
780 java  json  jackson 

19
値がnullの場合、シリアル化中にフィールドを無視するようにJacksonに指示するにはどうすればよいですか?
フィールドの値がnullの場合、シリアル化中にフィールド値を無視するようにJacksonを構成するにはどうすればよいですか。 例えば: public class SomeClass { // what jackson annotation causes jackson to skip over this value if it is null but will // serialize it otherwise private String someValue; }
687 java  jackson 

30
ジャクソンとJSON:認識できないフィールド、無視できるものとしてマークされていません
特定のJSON文字列をJavaオブジェクトに変換する必要があります。JSON処理にJacksonを使用しています。入力JSONを制御できません(Webサービスから読み取りました)。これは私の入力JSONです: {"wrapper":[{"id":"13","name":"Fred"}]} 以下に、簡単な使用例を示します。 private void tryReading() { String jsonStr = "{\"wrapper\"\:[{\"id\":\"13\",\"name\":\"Fred\"}]}"; ObjectMapper mapper = new ObjectMapper(); Wrapper wrapper = null; try { wrapper = mapper.readValue(jsonStr , Wrapper.class); } catch (Exception e) { e.printStackTrace(); } System.out.println("wrapper = " + wrapper); } 私のエンティティクラスは: public Class Student { private String name; private String …

13
JsonMappingException:タイプ[simple type、class]に適したコンストラクタが見つかりません:JSONオブジェクトからインスタンス化できません
JSONリクエストを取得して処理しようとすると、次のエラーが発生します。 org.codehaus.jackson.map.JsonMappingException:型に適したコンストラクターが見つかりません[単純型、クラスcom.myweb.ApplesDO]:JSONオブジェクトからインスタンス化できません(型情報を追加/有効にする必要がありますか?) ここに私が送信しようとしているJSONがあります: { "applesDO" : [ { "apple" : "Green Apple" }, { "apple" : "Red Apple" } ] } コントローラーには、次のメソッドシグネチャがあります。 @RequestMapping("showApples.do") public String getApples(@RequestBody final AllApplesDO applesRequest){ // Method Code } AllApplesDOはApplesDOのラッパーです: public class AllApplesDO { private List<ApplesDO> applesDO; public List<ApplesDO> getApplesDO() { return applesDO; } public void …

7
JSONでnullを表す
JSONでnull値を返すための推奨メソッドは何ですか?プリミティブの好みは異なりますか? たとえば、サーバー上のオブジェクトに "myCount"という名前の整数があり、値がない場合、その値の最も適切なJSONは次のようになります。 {} または { "myCount": null } または { "myCount": 0 } 文字列に対する同じ質問-サーバーにnull文字列「myString」がある場合、最高のJSONです。 {} または { "myString": null } または { "myString": "" } または(主が私を助けて) { "myString": "null" } コレクションがJSONで空のコレクションとして表されるための規約が好きですhttp://jtechies.blogspot.nl/2012/07/item-43-return-empty-arrays-or.html 空の配列が表されます: { "myArray": [] } 要約の編集 「個人的な好み」の議論は現実的であるように見えますが、近視眼的であり、コミュニティーとして、ますます多くの異なるサービス/ソースを消費することになります。JSON構造の規則は、上記のサービスの消費と再利用を正規化するのに役立ちます。標準を確立する限り、いくつかの例外を除いて、ほとんどのジャクソン規約を採用することをお勧めします。 オブジェクトはプリミティブよりも優先されます。 空のコレクションはnullよりも優先されます。 値のないオブジェクトはnullとして表されます。 プリミティブはその値を返します。 ほとんどがnull値のJSONオブジェクトを返す場合は、複数のサービスにリファクタリングする候補がある可能性があります。 { "value1": null, "value2": null, "text1": …
423 json  jackson  gson 

22
Jackson JSONとHibernate JPAの問題による無限再帰
双方向の関連付けがあるJPAオブジェクトをJSONに変換しようとすると、 org.codehaus.jackson.map.JsonMappingException: Infinite recursion (StackOverflowError) 私が見つけたのはこのスレッドだけで、基本的には双方向の関連付けを回避することをお勧めします。誰かがこの春のバグの回避策を考えていますか? ------ EDIT 2010-07-24 16:26:22 ------- コードスニペット: ビジネスオブジェクト1: @Entity @Table(name = "ta_trainee", uniqueConstraints = {@UniqueConstraint(columnNames = {"id"})}) public class Trainee extends BusinessObject { @Id @GeneratedValue(strategy = GenerationType.TABLE) @Column(name = "id", nullable = false) private Integer id; @Column(name = "name", nullable = true) private String name; …
412 java  json  orm  spring-mvc  jackson 

5
ジャクソン対。Gson [終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 5年前休業。 JSONのいくつかの既存のライブラリーを検索した後、最終的に次の2つになりました。 ジャクソン Google GSon 私はGSONに少し不満ですが、ネットで言うと、GSonは特定の天体のパフォーマンスの問題(2009年9月現在)に悩まされています。 私は私の比較を続けています。その間、私は私の決心をするための助けを探しています。
363 java  json  comparison  gson  jackson 

5
JacksonのObjectMapperを静的フィールドとして宣言する必要がありますか?
JacksonライブラリのObjectMapperクラスはスレッドセーフのようです。 これは私ObjectMapperをこのような静的フィールドとして宣言する必要があることを意味しますか class Me { private static final ObjectMapper mapper = new ObjectMapper(); } このようなインスタンスレベルのフィールドとしてではなく? class Me { private final ObjectMapper mapper = new ObjectMapper(); }
361 java  json  jackson 

6
シリアル化中に@JsonIgnoreのみを使用し、逆シリアル化は使用しない
サーバーとの間で送受信されるユーザーオブジェクトがあります。ユーザーオブジェクトを送信するときに、ハッシュされたパスワードをクライアントに送信したくありません。そこで、@JsonIgnorepasswordプロパティを追加しましたが、これにより、パスワードに逆シリアル化されないため、ユーザーがパスワードを取得していないときにユーザーをサインアップすることが難しくなります。 @JsonIgnore逆シリアル化ではなくシリアル化にのみ適用するにはどうすればよいですか?私はSpring JSONViewを使用しているので、をあまり制御できませんObjectMapper。 私が試したこと: @JsonIgnoreプロパティに追加 @JsonIgnoreゲッターメソッドのみを追加

18
ジャクソン(JSON)でのシリアライズ-「シリアライザが見つかりません」と表示されますか?
ジャクソンを使用して非常に単純なオブジェクトをシリアル化しようとすると、例外が発生します。エラー: org.codehaus.jackson.map.JsonMappingException:クラスMyPackage.TestAのシリアライザーが見つからず、BeanSerializerを作成するためのプロパティが見つかりません(例外を回避するには、SerializationConfig.Feature.FAIL_ON_EMPTY_BEANSを無効にします) 以下は、シリアル化する単純なクラスとコードです。 誰かがこのエラーが発生する理由を教えていただけますか? public class TestA { String SomeString = "asd"; } TestA testA = new TestA(); ObjectMapper om = new ObjectMapper(); try { String testAString = om.writeValueAsString(testA); // error here! TestA newTestA = om.readValue(testAString, TestA.class); } catch (JsonGenerationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch …
262 java  json  jackson 

12
JSONデータをJavaオブジェクトに変換する
Javaアクションメソッド内でJSON文字列からプロパティにアクセスできるようにしたい。文字列は、単にと言うだけで利用できますmyJsonString = object.getJson()。以下は、文字列の例です。 { 'title': 'ComputingandInformationsystems', 'id': 1, 'children': 'true', 'groups': [{ 'title': 'LeveloneCIS', 'id': 2, 'children': 'true', 'groups': [{ 'title': 'IntroToComputingandInternet', 'id': 3, 'children': 'false', 'groups': [] }] }] } この文字列では、すべてのJSONオブジェクトに他のJSONオブジェクトの配列が含まれています。その目的は、他のJSONオブジェクトを含むグループプロパティを持つ特定のオブジェクトのIDのリストを抽出することです。私は潜在的なJSONプラグインとしてGoogleのGsonを検討しました。このJSON文字列からJavaを生成する方法について、誰かが何らかのガイダンスを提供できますか?
262 java  json  jackson  gson 

6
ジャクソンのJSON文字列をJsonNodeに解析する方法は?
それはとても単純なはずですが、1時間#恥ずかしいことを試みた後、それを見つけることができません。 たとえば、JSON文字列をとして{"k1":v1,"k2":v2}解析する必要がありますJsonNode。 JsonFactory factory = new JsonFactory(); JsonParser jp = factory.createJsonParser("{\"k1\":\"v1\"}"); JsonNode actualObj = jp.readValueAsTree(); 与える java.lang.IllegalStateException: No ObjectCodec defined for the parser, can not deserialize JSON into JsonNode tree
231 java  json  parsing  jackson 

13
Jackson enum Serializing and DeSerializer
JAVA 1.6とJackson 1.9.9を使用しています。列挙型があります。 public enum Event { FORGOT_PASSWORD("forgot password"); private final String value; private Event(final String description) { this.value = description; } @JsonValue final String value() { return this.value; } } @JsonValueを追加しました。これは、オブジェクトをシリアル化するジョブを実行するようです: {"event":"forgot password"} しかし、逆シリアル化しようとすると、 Caused by: org.codehaus.jackson.map.JsonMappingException: Can not construct instance of com.globalrelay.gas.appsjson.authportal.Event from String value 'forgot password': value …

16
Jackson JSONマッパーを使用したjava 8 java.timeのシリアライズ/デシリアライズ
Java 8 LocalDateTimeでJackson JSONマッパーを使用するにはどうすればよいですか? org.codehaus.jackson.map.JsonMappingException:JSON文字列からタイプ[シンプルタイプ、クラスjava.time.LocalDateTime]の値をインスタンス化できません。単一の文字列コンストラクタ/ファクトリメソッドはありません(参照チェーンを通じて:MyDTO ["field1"]-> SubDTO ["date"])
221 jackson  java-time 

7
ジャクソンがフィールドのみを使用するように指定する方法-できればグローバルに
デフォルトのジャクソン動作は、jsonへのシリアル化と逆シリアル化にプロパティ(ゲッターとセッター)とフィールドの両方を使用するようです。 フィールドをシリアル化構成の標準的なソースとして使用したいので、Jacksonにプロパティをまったく表示させたくありません。 これは、アノテーションを使用して個々のクラスごとに行うことができます。 @JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE) しかし、私はこれをすべてのクラスに置く必要はありません... これをグローバルに構成することは可能ですか?オブジェクトマッパーにいくつか追加したいですか?
189 java  json  jackson 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.