問題タブ [object-identity]
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.
json - @JsonIdentityInfo と @JsonTypeInfo を組み合わせた Jackson が InvalidTypeIdException をスローする
現在、 と を組み合わせる@JsonIdentityInfo
と、Jackson に問題が発生してい@JsonTypeInfo
ます。以下の Kotlin コードは、最後の行で例外をスローします。dog1AndDog1Json
期待どおりにインスタンスをJsonにシリアル化しますが、インスタンスに逆シリアル化するときに例外をスローします。
次に、次の出力を取得するメイン関数を実行します。
この例外が続きます:
ジャクソンはanimal2
、 @class プロパティを持つプロパティのオブジェクトが、デシリアライズされる正しいクラスタイプを見つけることを期待しているようです。@JsonIdentityInfo
ただし、注釈によって id に置き換えられています。Jackson がその ID でオブジェクトを検索せず、そのインスタンスの @class プロパティをチェックしないのはなぜですか?
このユースケースがジャクソンによってサポートされていないのか、それとも私が何か間違ったことをしているのか (私が望んでいること) はわかりません。それともバグですか?
c++ - has_unique_object_representations と空のサブオブジェクトの矛盾
私は C++20 の属性をいじってみましたが、型特性[[no_unique_address]]
で使用すると興味深い動作が見つかりました。has_unique_object_representations
GCC (トランク) と Clang (トランク) の両方で最後のアサーションのみが失敗します。私が知る限り、ここで異なる動作をする理由はA
ありません。B
これはコンパイラのバグですか、それともこの違いには理由がありますか?