2
Dictionary<DateTime, double>
から継承したオブジェクトのシリアライズには、結果のjson文字列にフィールドとプロパティーは含まれません。json.netによる派生オブジェクトのシリアライズ
注:これは簡単な例です。はい、私は辞書型から派生すべきではないことを知っています。型のオブジェクトをシリアル化
:
public class Timeserie : Dictionary<DateTime, double>
{
public string id;
public Timeserie()
{
}
public Timeserie(string id)
{
this.id = id;
}
}
使用:
var json_settings = new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All };
var s = JsonConvert.SerializeObject(timeserie, Formatting.Indented, json_settings);
は、基本クラスのデータが含まれ:
{
"01/02/2009 00:00:00": 10.23,
"01/05/2009 00:00:00": 11.33
}
フィールドid
が含まれていません。
json.netを使用して、派生クラスで宣言されたフィールドとプロパティがシリアル化に含まれるようにするにはどうすればよいですか?
派生クラスで宣言されたパブリックフィールドとプロパティの両方が無視されます。 – ihatems
もしあなたが辞書の継承を取るなら、それはIDをシリアル化しますか? –
私は基本的にはあなたがやっていることを基本的にやっているだけで、サブクラスはうまく処理されます。 –