問題タブ [json-serialization]

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 に答える
322 参照

javascript - JavaScript apex のシリアル化

単純なオブジェクトを .NET から JavaScript にシリアル化する必要があります...

しかし、私はapexに問題があります...

C# の例

JavaScript の例

両方の解析で同じエラーが発生します

VM517:1 Uncaught SyntaxError: JSON.parse(<anonymous>) の位置 23 にある JSON の予期しないトークン I

どこが間違っていますか?

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

spring-boot - ジャクソン オブジェクト マッパーは、拡張構成が提供されている場合は機能しませんが、Spring Boot でクラス レベル/フィールド レベルの注釈を提供している場合は機能します

Spring Boot アプリケーションに jjwt セキュリティを追加すると、以下のオブジェクト マッパー構成が機能しません。

ここに追加されたセキュリティ依存関係

以下のJacksonアノテーションはクラス/フィールドレベルで機能しています。

Bean 構成のカスタム オブジェクト マッパーがシリアライゼーションとデシリアライゼーションに使用されないのはなぜですか? 私のカスタムマッパーをオーバーライドするオブジェクトマッパーを構成した他のライブラリはありますか?

0 投票する
3 に答える
1786 参照

java - Spring Boot + Jackson: 呼び出された REST API に応じて、さまざまな方法でオブジェクトをシリアル化します

REST API を公開する Spring Boot Web アプリケーションを開発していますが、JSON シリアル化に問題があります。

1 対多の双方向関係にある 2 つのクラス A と B があるとします。

これは、次のようなものがあることを意味します。

これをJSONシリアライズするとなると、もちろんループがあります。

そして、これは私の問題です:

  • 焦点を当てた API メソッドA(たとえば、「DB 内のすべての As のリストを教えてください」) では、次のような JSON シリアル化が必要です。
    • Aオブジェクトには のリストが含まれていBます
    • Bオブジェクトに A 所有者が含まれていない
  • に焦点を当てた API メソッドB(たとえば、「DB 内のすべての s のリストを教えてくださいB」) では、次のような JSON シリアライゼーションが必要です。
    • Aオブジェクトにはそのリストが含まれていませB
    • BオブジェクトにはA所有者が含まれています

注釈を使用して動作させることができると@JsonView思いますが、それがエレガントなソリューションだとは思いません。私のアプリケーション (2 つ以上のクラスを持つ) では、少なくとも 4 つまたは 5 つの JsonView を作成して管理する必要があります。そのため、モデル クラスでは、属性ごとに、乱雑な一連の@JsonView注釈を管理する必要があります。逆に言えば、モデルクラスはAPIメソッドによってJSON表現が異なるということを意識すべきではないと思います。

カスタム JSON シリアライザーの使用方法を検索したところ、Jackson がその SimpleModule でそれを可能にしていることがわかりました。ただし、SimpleModule では、ケースバイケースで使用するシリアライザーを選択できないようです (常に最後に追加されたシリアライザーを使用します)。

だから私は今少し無知です。コントローラーがクラスをシリアル化する方法を選択できるようにするクリーンな方法を知っている人はいますか?