問題タブ [jsonconverter]

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 投票する
2 に答える
167 参照

angular - Angular patchValue が JsonConverter で機能しない

サーバー上の列挙型から値を受け取る選択コントロールを備えた角度のあるフォームがあります。

タイプ変数にハードコードされた応答を使用して、ここで例を作成しました: stackblitz

現在、フォーム patchValue メソッドを使用してフォームに入力しようとしています (setValues ボタンとメソッドを参照)。

実際には、この応答はサーバーから送信されます。

サーバーのモデルは次のとおりです。

これまでのところ、これは機能します。

サーバーのモデルを変更して Json StringEnumConverter 属性を含めると、次のようになります。

patchValue メソッドは次のようになりました (setValues2 ボタンとメソッドを参照)。

ただし、私の値は選択コントロールに読み込まれなくなりました。

どうすればこれを回避できますか?

ディレクティブの作成を開始しましたが、バインディングをインターセプトして値を enums キーと同等のものに変更する方法がわかりません。

助けてください

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

c# - JsonConverter.ReadJson から既に逆シリアル化されたプロパティにアクセスする

古いjsonを逆シリアル化するときに、下位互換性を解決しようとしています。以前はdoubleプロパティがあり、現在はカスタム タイプに変更されています。

私の考えは、カスタム json コンバーターを使用して、それを読み取っdoubleて単純に変換することです。

以前は:

として連載

新しいもの:

として連載

コンバータ:

しかし、構築MyTypeするには、別のプロパティの値である文字列パラメーターが必要ですName

Nameのコンバーターから値にアクセスする方法はValue? 逆シリアル化されたものにアクセスする方法は? 何かの木はありますか?トークンツリー?

別のこと:WriteJsonメソッドで「何も」特別なことをしたくないのですが、実装は正しいですか?または、シリアル化時にコンバーターが「特別な」ことをするのを防ぐ簡単な方法はありますか?