問題タブ [serde]
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 - Serdeを使用してnull値を含むJSONファイルをデシリアライズするには?
Serde を使用して、github の Bowserinatorから化学元素の JSON ファイルをデシリアライズしたいと考えています。このために、必要なすべてのフィールドを含む構造を作成し、必要なマクロを派生させました。
これは、「null」値を含むフィールドに到達するまでは正常に機能します。たとえば"color": null,
、ヘリウムのフィールドの場合。
表示されるエラー メッセージは{ code: Message("invalid type: unit value, expected a string"), line: 8, column: 17 }
、このフィールドに関するものです。
#[serde(default)]
マクロで実験しました。ただし、これは値がある場合ではなく、JSON ファイルにフィールドがない場合にのみ機能しnull
ます。
Visitor Trait をプログラムすることを避けて、標準のマクロでデシリアライズを行うのが好きです。私が見逃しているトリックはありますか?
json - Serde を使用してカスタム関数でオプションのフィールドを逆シリアル化するにはどうすればよいですか?
カスタム関数を使用して a をシリアライズおよびデシリアライズしたいのですchrono::NaiveDate
が、Serde の本ではこの機能が説明されておらず、コード ドキュメントも役に立ちません。
Option<chrono::NaiveDate>
Chrono は Serde をサポートしているので、Serde で簡単にデシリアライズできることは知っていますが、Serdeを学習しようとしているので、自分で実装したいと考えています。このコードを実行すると、エラーが発生します。