JSon反序列化很简单,我们一般直接用 :
Newtonsoft.Json.JsonConvert.DeserializeObject<T>(object);
那么当遇到动态对象Json格式我们要如何处理?
如下:
{ "status": 0, "message": "成功.", "results": { "aaa": [{ "aaa1": "12312" }], "bbb": [{ "bbb1": "11901" }], "ccc": [{ "ccc1": "11301" }, { "ccc2": "11302" }, { "ccc3": "11303" }] } }
我们可以看到有固定的对象结构属性,也有动态的属性。首先我们要实现我们的这个数据对象实体:
/// <summary> /// 实体对象 /// </summary> public class DataEntity { public int status { get; set; } public string message { get; set; } /// <summary> /// 使用Dictionary来存储动态属性,使用List来存储数组动态属性也就是[{"aaa1": "12312"}]需要外面加一个List /// </summary> public Dictionary<string, List<Dictionary<string, string>>> results { get; set; } }
我们在序列化之后,取数据只需要取通过foreach循环获取数据即可。
希望对大家有所帮助~