https://api.twitter.com/1/statuses/home_timeline.json?include_entities=true
json是来自给定用户的twitter时间轴的20条最新推文(json对象)的列表,单个json对象的格式如下所示:
{ "created_at": "Thu Sep 20 10:25:39 +0000 2012","id": 248729631476314100,"id_str": "248729631476314112","text": "Ask the experts and learn what's new with v.2.2 at at #MongoDBPune (http://t.co/o5BA7zd6) and #MongoDBBangalore (http://t.co/7q3E2MBq)","source": "<a href=\"http://www.socialrithmic.com\" rel=\"nofollow\">Socialrithmic</a>","truncated": false,"in_reply_to_status_id": null,"in_reply_to_status_id_str": null,"in_reply_to_user_id": null,"in_reply_to_user_id_str": null,"in_reply_to_screen_name": null,"user": { "id": 18080585,"id_str": "18080585","name": "mongodb","screen_name": "MongoDB","location": "","url": "http://mongodb.org/","description": "High-performance,open source,schema-free document-oriented database | www.facebook.com/MongoDB","protected": false,"followers_count": 24999,"friends_count": 16,"listed_count": 1582,"created_at": "Fri Dec 12 17:21:18 +0000 2008","favourites_count": 6,"utc_offset": -18000,"time_zone": "Eastern Time (US & Canada)","geo_enabled": true,"verified": false,"statuses_count": 1669,"lang": "en","contributors_enabled": false,"is_translator": false,"profile_background_color": "529747","profile_background_image_url": "http://a0.twimg.com/profile_background_images/619655093/767dji3m3k684nza7w9z.png","profile_background_image_url_https": "https://si0.twimg.com/profile_background_images/619655093/767dji3m3k684nza7w9z.png","profile_background_tile": false,"profile_image_url": "http://a0.twimg.com/profile_images/2452709870/wo2h8r0qy8d5lsxe5lgd_normal.png","profile_image_url_https": "https://si0.twimg.com/profile_images/2452709870/wo2h8r0qy8d5lsxe5lgd_normal.png","profile_link_color": "43B02A","profile_sidebar_border_color": "829D5E","profile_sidebar_fill_color": "99CC33","profile_text_color": "3E4415","profile_use_background_image": true,"default_profile": false,"default_profile_image": false,"following": true,"follow_request_sent": null,"notifications": null },"geo": null,"coordinates": null,"place": null,"contributors": null,"retweet_count": 1,"entities": { "hashtags": [ { "text": "MongoDBPune","indices": [ 55,67 ] },{ "text": "MongoDBBangalore","indices": [ 95,112 ] } ],"urls": [ { "url": "http://t.co/o5BA7zd6","expanded_url": "http://soc.ai/ZV","display_url": "soc.ai/ZV","indices": [ 69,89 ] },{ "url": "http://t.co/7q3E2MBq","expanded_url": "http://soc.ai/ZW","display_url": "soc.ai/ZW","indices": [ 114,134 ] } ],"user_mentions": [] },"favorited": false,"retweeted": false,"possibly_sensitive": false
}
List<JsonObject> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<JsonObject>>(response);
‘response’保存我的json.当我插入一个断点并观察’list’中的json对象时,我发现了这个:
{
“created_at”:“Thu Sep 20 10:25:39 0000 2012”,
“id”:248729631476314100,
“id_str”:“248729631476314112”,
“text”:“在#MongoDBPune(http://t.co/o5BA7zd6)和#MongoDBBangalore(http://t.co/7q3E2MBq)上询问专家并了解v.2.2的新内容”,
“来源”:“社会化学”,
“截断”:假,
“in_reply_to_status_id”:null,
“in_reply_to_status_id_str”:null,
“in_reply_to_user_id”:null,
“in_reply_to_user_id_str”:null,
“in_reply_to_screen_name”:null,
“用户”:[
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
[
[]
]
]
“geo”:null,
“coordinates”:null,
“地方”:null,
“贡献者”:null,
“retweet_count”:1,
“实体”:[
[
[
[
[
[]
]
[
[
[],
[]
]
]
]
[
[
[]
]
[
[
[],
[]
]
]
]
]
]
[
[
[
[
[]
]
[
[]
]
[
[]
]
[
[
[],
[]
]
]
]
[
[
[]
]
[
[]
]
[
[]
]
[
[
[],
[]
]
]
]
]
]
[
[]
]
]
“收藏”:虚假,
“转推”:虚假,
“possible_sensitive”:false
}
我打算从所有20个json对象中收集所有主题标签.所以我基本上需要在实体内导航到主题标签到文本.但如上所述,反序列化只是部分的.它没有反序列化任何嵌套的东西.
我该如何解决?请帮忙!
解决方法
这是你如何做到的:
ArrayList hashtags = new ArrayList(); JArray jsonDat = JArray.Parse(response); for(int x = 0; x < jsonDat.Count(); x++) { JObject entity = JObject.Parse(jsonDat[x]["entities"].ToString()); JArray arrHashtags = JArray.Parse(entity["hashtags"].ToString()); for(int i=0; i < arrHashtags.Count(); i++) { JObject hashtagstuff = JObject.Parse(arrHashtags[i].ToString()); hashtags.Add(hashtagstuff["text"].ToString()); } }
不要忘记在命名空间中包含Linq
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。