私は、Json.NETを使用して、IEnumerable
のenumとDateTime
を持つオブジェクトをシリアル化しています。それはのようなものです:IEnumerableの各項目のカスタムjsonシリアライゼーション
class Chart
{
// ...
public IEnumerable<int> YAxis { get; set; }
public IEnumerable<State> Data { get; set; }
public IEnumerable<DateTime> XAxis { get; set; }
}
しかし、私は列挙型を文字列としてシリアライズしDateTime
文字列の書式を変更するために作成するカスタムJsonConverter
を必要としています。
私は列挙型のためhere述べたようにJsonConverter
属性と行わhereなどのカスタムIsoDateTimeConverter
を使用して試してみた:
[JsonConverter(typeof(StringEnumConverter))]
public IEnumerable<State> Data { get; set; }
[JsonConverter(typeof(MyDateTimeConverter))]
public IEnumerable<DateTime> XAxis { get; set; }
私はそれがあまりにもIEnumerable
のために働くだろう期待していたが、当然、それはしません。
タイプ 'WhereSelectArrayIterator`2 [System.Int32、Model.State]のオブジェクトを「System.Enum」と入力できません。
JsonConverterAttribute
が各項目に適用され、列挙可能ではないと言う方法はありますか?
@juharrこれは実際に自分のやり方で得たものを共有するための努力でした。私のグーグル・スキルが自慢していると思う... – andrepnh