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>方法