List<string>序列化与反序列化一个小坑

Newtonsoft序列化与反序列化有两个重载方法,带<T>和不带<T>的

如果将一个List<String>序列化为jsonStr后,再反序列化,会变成JArray

List<string> list=new List<string>();

list.Add("aa");

list.Add("bb");

list.Add("cc");

JsonConvert.SerializeObject(jsonStr);

var obj=JsonConvert.DeserializeObject(jsonStr);

如果这时候直接使用 obj as List<string>就会报错。就需要使用带<T>模板函数来处理。

var obj=JsonConvert.DeserializeObject<List<string>>(jsonStr);

普通类型如int,string可以不使用带<T>方法

posted @ 2019-01-10 19:14  zhaogaojian  阅读(5063)  评论(0编辑  收藏  举报