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循环获取数据即可。
希望对大家有所帮助~