Newtonsoft.Json使用小结

JsonConvert.DeserializeObject<IFileInfo[]>(json);

上面的代码默认情况下会序列化失败,因为上面的IFileInfo是一个接口类型。

解决的办法是加上配置文件:

            var settings = new JsonSerializerSettings();
            settings.Formatting = Formatting.Indented;
            settings.TypeNameHandling = TypeNameHandling.Auto;
            var json = JsonConvert.SerializeObject(data, settings);

最主要是标红部分的这个语句,这样序列化时会加上具体的类的类型名称。

解析的时候也加上这个配置信息:

                    var settings = new JsonSerializerSettings();
                    settings.Formatting = Formatting.Indented;
                    settings.TypeNameHandling = TypeNameHandling.Auto;

                    return JsonConvert.DeserializeObject<List<IFileBase>>(json, settings);

 

posted @ 2021-05-21 11:32  wzwyc  阅读(119)  评论(0编辑  收藏  举报