如何使用 Json.Net 反序列化



我正在尝试将 json 字符串反序列化为接口实例,

但是我的代码返回异常消息,例如"无法创建 Form1+IFoo 类型的实例。类型是接口或抽象类,不能实例化。路径"值"

但是有什么我做不到的?,我想解决这个案子,谢谢。

这是代码

    public interface IFoo
    {
        int value { get; }
    }
    [Serializable]
    public class Foo : IFoo
    {
        public int value
        {
            get { return 1; }
        }
    }
    public void run()
    {
        IFoo foo = new Foo();
        string json = JsonConvert.SerializeObject(foo); //it's working
        IFoo dese = JsonConvert.DeserializeObject<IFoo>(json); //but it's not working
    }

因为接口和抽象类不能实例化。 你应该使用它,

     IFoo dese = JsonConvert.DeserializeObject<Foo>(json);

因为接口或抽象类无法实例化你可以试试这个

IFoo dese = JsonConvert.DeserializeObject<IFoo>(json); //but it's not working
Foo dese = JsonConvert.DeserializeObject<Foo>(json); //it'sworking

错误消息很简单,它要求您不要给它一个接口。 "无法创建 Form1+IFoo 类型的实例。类型是接口或抽象类,不能实例化。路径"值"

请尝试此。

var dese = JsonConvert.DeserializeObject<Foo>(json)

相关内容

  • 没有找到相关文章

最新更新