[C#]DynamicJsonでの列挙型データの対応


DynamicJsonを使用してemun型のデータをシリアライズ/デシリアライズするとデシリアライズ時にエラーが発生します。
このことはDynamicJsonのサイト内DISCUSSIONSで検討されていますが対応は行われていないようです。
このディスカッション内では文字列にすることで対処可能と書かれていましたので、実装を行ってみました。
差分は以下となります。
■「private static JsonType GetJsonType(object obj)」に以下を追加

if (obj.GetType().IsEnum == true)
{
return JsonType.@string;
}

■「private dynamic DeserializeValue(XElement element, Type elementType)」に以下を追加

if (elementType.IsEnum == true)
{
value = Enum.Parse(elementType, value);
}

■ダウンロード
 修正を行ったコードは以下からダウンロードできます。
 ダウンロード


0 件のコメント :

コメントを投稿