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);
沒有留言:
張貼留言