正在处理反序列化错误



我有要从json 反序列化的类

class SeeSharp
{
   public int Number;  
}

好的json类似于

{数量:1}

来自PHP的错误json是

{数字:false}

我使用以下方法来处理反序列化错误http://blog.mrlacey.co.uk/2012/03/debugging-deserialization-errors-in.html

当读取string/int/double/bool/etc类型的成员失败时,我想将其值设置为该类型的默认值,并将该错误标记为已处理。

目前,JsonSerializationSettings.Error委托不允许为失败的成员设置值,也不显示任何有关失败成员类型的信息。

如果有另一种选择,知道它会很好。

你能使用这个类吗?

public class SeeSharp
{
    public string Number
    {
        get
        {
            return _number.ToString();
        }
        set
        {
            if (!int.TryParse(value, out _number))
                _number = default(int);
        }
    }
    public int _Number { get; set; }
}

JsonConvert将使用字符串属性Number来设置数据,数据本身处理解析。然后在代码中使用属性_Number作为int

相关内容

  • 没有找到相关文章

最新更新