How do I deserialize a JSON array and ignore the root node?
將List序列化成JSON後,會變成單純的Array,無法直接反序列化還原成List,要加點工才行。
將json存成以下格式
{ "SomeTables" : [ { "id": "1" }, { "id": "2" }, { "id": "3" } ] }
var list = new List<SomeTable>(); //do something... var obj = new {SomeTables = list}; var listJson = JsonConvert.SerializeObject(obj, Newtonsoft.Json.Formatting.Indented); File.WriteAllText(@"SomeTables.json", listJson); var json = File.ReadAllText(@"SomeTables.json"); var jtoken = JObject.Parse(json).SelectToken("SomeTables").ToString(); var newObj = JsonConvert.DeserializeObject<List<SomeTable>>(jtoken);
沒有留言:
張貼留言