[C#] System.Text.Json の Serialize で JSON が空になる



現象

Xamarin の開発で System.Text.Json でシリアライズしようとしたときの話です。

Data という Json への変換を想定したモデルがあるとします。(名前は説明用の仮のものです)

このクラスを以下のように Serialize しても中身が空になってしまいます。

JsonSerializerOptions などのせいかと思い、いろいろ試しましたが、結果的にはオプションは関係ありませんでした。

解決

以下のように シリアライズ対象のプロパティは public に したところシリアライズした Json が取得できるようになりました。

public にしないとシリアライズされないというのは公式のドキュメントにも特に記載は無いようです。

internal にしてもビルドエラーにはならないので、なかなか気づきにくいところです。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


  • キュア子の紹介

人気記事ランキング