读书人

JSON 转C# 对象 动态key,该如何解决

发布时间: 2012-05-05 17:21:10 作者: rapoo

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*/ 

读书人网 >C#

热点推荐