問題タブ [objectmapper]

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.

0 投票する
1 に答える
1237 参照

java - JsonMappingException: タイプ [単純なタイプ、クラス com.fasterxml.jackson.databind.node.ObjectNode] に適したコンストラクターが見つかりません

外部オブジェクトJSONMappingException 、クラスの JSONMappingException を読みましたが、クラス の解決策が見つかりませんObjectNode

外部オブジェクトの JSONMappingException を読み取ること で、オブジェクトをマッパーに登録する必要があることは理解していますが、Web サービスを呼び出しているため、ObjectMapper クラスを作成していません。

(com.fasterxml.jackson.databind.node.ObjectNode) インスタンス変数ReportQueryData.javaを含むMy POJO ( ) の Web サービスを呼び出そうとしています。ObjectNode

ReportQueryData.java

現在、リクエストで ReportQueryData を含む Web サービスを呼び出していますが、以下の例外に直面しています。

0 投票する
1 に答える
319 参照

swift - AlamofireObjectMapper を使用して関数を作成し、オブジェクトを返す

AlamofireObjectMapper 拡張機能を使用して、サーバーからの JSON 応答をマップし、オブジェクトを返す関数を作成しようとしています。

私はこれらのコードを書きましたfunc

Herer は私の Constanst.swift です (DownloadCompleteクロージャーを含む)

downloadPokemonDetails1関数がエラーを出す理由がわかりませんun-expected Non-void return value in void function

私のPokemonクラス

0 投票する
1 に答える
1012 参照

java - 値を小文字に置き換えるようにオブジェクト マッパーを構成する

次のようなクラス Diff があります。

次の呼び出しを使用して json ノードを作成します。

次のような Diff がある場合:

やっている:

戻ります:

ただし、「操作」という言葉は「操作」である必要があります。おそらく、「操作」を読み取るときに「操作」に変換するように ObjectMapper を構成する方法があると思われますが、その方法がわかりません。誰か知ってる?

0 投票する
1 に答える
391 参照

ios - 最上位の JSON 文字列配列オブジェクト マッパーをマップします。

トップレベルの JSON 文字列配列を mpa する方法

サーバーからの JSON 応答

ObjectMapper Swiftを使用しています

0 投票する
1 に答える
104 参照

json - ObjectMapper を使用したさまざまなタイプの JSON ファイル

AlamofireObjectMapper を使用してバックエンド サーバーと通信しています。リクエストの 1 つの結果は、次の 2 つの値を含む項目の配列です。

  • 2 番目の値 (「arbitraryData」) がどのタイプのデータであるかを示す「typeIdentifier」
  • 「任意のデータ」:
    • "typeIdentifier" CONTAINS "X" の場合、arbitraryData の型は ArbitraryDataTypeX です
    • "typeIdentifier" CONTAINS "Y" の場合、arbitraryData の型は ArbitraryDataTypeY です。

2 つの ArbitraryDataType クラスは共通の祖先を共有していません (Mappable を除く)。プリミティブ型、配列、オプションなどの場合もあります。

適切なタイプを使用して AlamofireObjectMapper に「arbitraryData」フィールドを解析させるにはどうすればよいですか。

次の JSON ファイルを参照してください。

対応する Swing ファイルは次のようになります。

背景情報: AlamofireObjectMapper を使用してバックエンド サーバーと通信しています。リクエストの 1 つの結果は、Item の配列です。typeIdentifier-メカニズム (実際にはもう少し複雑ですが、これは省略しましょう) はバックエンドによって提供され、変更できません。

0 投票する
2 に答える
33518 参照

java - Jackson ObjectMapper が NON_NULL でも NullPointerException をスローする

次の JSON が使用され、「phones」または「emailAddresses」のいずれかが null の場合、NullPointerException が発生します。

JSON:

そして、ここにスタックトレースがあります:

次のようにカスタム ObjectMapper を設定しています。

つまりCteUserContext cteUserContext = MigrationObjectMapper.getMigrationObjectMapper().convertValue(item.getItem(), new TypeReference<CteUserContext>(){});、エラーがスローされます。

CteUserContext の内部には、List と List を含む User オブジェクトがあります。これらは、オブジェクト マッパーの構成に基づいてシリアル化するべきではありませんか?

0 投票する
1 に答える
1367 参照

arrays - Objectmapper は JSON 内の 1 つのアイテムの配列を取得します

だから私は ObjectMapper と Realm と一緒に使用している次の JSON を持っています。

私の問題は、「タイプ」からデータを取得することです。配列内の一部のアイテムでは「今」または「後で」と表示され、他のアイテムでは空です(したがって、タイプアイテムは指定されません)。

マッピングで次のことを試みました。

Realm データベースを確認すると、[getType] の配列である typez が作成されていることがわかりますが、すべての項目 (types が "now" の項目も含む) で空になっています。他の 2 つの項目 (id と url) はデータベースに入力されます。

データベースに保存されないというのは、何が間違っていますか?

0 投票する
0 に答える
99 参照

java - json ルート要素 jackson を翻訳しますか?

私はjackson 1.9を使用しており、そのObjectMapperクラスを使用してコンテンツをシリアライズおよびデシリアライズしています。そのため、シリアル化中にすべてのキーを特定の形式に変換し、逆シリアル化中に元に戻すPropertyNamingStrategyを使用しています。

ただし、これにより、次のようなjsonが得られます。

オブジェクト マッパー:---> JSON 文字列:

したがって、myNamingStrategyは json ルート要素には適用されません。その名前は、シリアル化中に短い名前に変換されません。

ルート要素にも同様のシリアライズおよびデシリアライズ戦略を適用するにはどうすればよいですか??

0 投票する
0 に答える
1256 参照

java - UNWRAP_ROOT_VALUE が動作しないジャクソン?

次のように、JSON 形式のコンテンツ本文を含む HTTP 要求をサーバーに送信します。

クライアント

これにより、コンテンツが JSON に変換され、ルート要素も追加されます。命名戦略を使用してプロパティ名をフォームAnnottaionIntrospectorに変換し、同様に rootName を同じフォームに変換します。

Annotation のルート要素はinsideAEに変換され、同様にキーは を使用して短縮されます。aeAnnotationIntrospectorPropertyNamingStrategy

サーバ

サーバーで受信するリソースはLinkedHasMap、クライアントから送信された JSON です。

ご覧のとおり、変更されたルート名が存在します。

ただし、 POJO に正しくobjectMapper.convertValue(resource, AE.class);変換されずAE、エラーが発生します。

を適用UNWRAP_ROOT_VALUEしましたが、それでもエラーが発生します。UNWRAP_ROOT_VALUEJson文字列でのみ機能すると思いますか??

cliemt からルート値をラップせず、json を次のように送信する場合、

ルート要素がなくても、リソースを POJO に正常に変換できます (を使用objectMapper.convertValue(resource, AE.class))。

しかし、ラッピング後は機能しません。これに対する提案はありますか??