JSON 转C# 对象 动态key
{
"name": "甄嬛体",
"2012-05-04 14:59": "5724"
}
以上是新浪微博API获取到的数据https://api.weibo.com/2/trends/weekly.json
当创建c#中对应的类时,字段name可以写成
public string name{get;set;]
但是时间那个key应该怎么写才能在C#类中取到对应的value值,时间那个key("2012-05-04 14:59")获取到的是不断变化的。
这次是"2012-05-04 14:59" ,下次可能是别的。
------解决方案--------------------
由于是不标准的序列化对象类型,因此你无法通过标准的反序列化类来实现,需要自定义一个序列化类或者简单点,直接自定义一个方法解析Json数据。解析后的数据用Dictionary来存放。
------解决方案--------------------
C# code
string str = "{\"name\": \"甄嬛体\",\"2012-05-04 14:59\": \"5724\"}";
JavaScriptObject obj = JavaScriptConvert.DeserializeObject(str) as JavaScriptObject;
foreach (KeyValuePair<string, object> k in obj)
{
Console.WriteLine("Key:{0} Value:{1}", k.Key, k.Value);
}
/*
Key:name Value:甄嬛体
Key:2012-05-04 14:59 Value:5724
*/