我已经在这个上面呆了 3 天了......我一直在访问 Twitter API 以拉取用户列表的user_timeline,并且返回的 json 无法使用。我尝试使用javascriptserializer反序列化它并得到一个错误:
传入 、 ':" 或 '}' 的无效对象
现在这很令人沮丧,因为我希望返回的 json 没有错误。然后我尝试使用string.split json.net 并拆分帖子,并尝试将每个帖子转换为Jobject或jarray。对于贾雷,我得到
'加载 jArray 时内容意外结束
对于 jobject:
'从 jsonreader 读取 JObject 时出错。当前 jsonreader 项不是对象,StartArray'
这真的很令人沮丧。
下面是 json 的开始和结束的示例:
[{"created_at":"Tue May 08 10:30:05 +0000 2012","id":199808381991653377,
"id_str":"199808381991653377",
"text":"@waddehawk Sorry for the misinformation earlier,
this should be tomorrow after 2pm.",
"source":"u003cahref="http://www.awarenessnetworks.com/home/"
"truncated":false,
"in_reply_to_status_id":199796940358156288,
"in_reply_to_status_id_str":"199796940358156288",
"in_reply_to_user_id":333905755,"in_reply_to_user_id_str":"333905755",
"in_reply_to_screen_name":"waddehawk",
"user":
{"id":95310018,"id_str":"95310018",
"name":"DBS Bank","screen_name":"dbsbank","location":"Singapore",
"description":"The DBS official channel,
we're here Mon-Fri, 9am-6pm. Otherwise, call us
at 18001111111 or contact us via www.dbs.com/contact",
"url":"http://www.dbs.com","protected":false,
"followers_count":1350,"friends_count":173,"listed_count":58,
"created_at":"Tue Dec 08 00:07:04 +0000 2009","favourites_count":0,"utc_offset":28800,
"time_zone":"Singapore","geo_enabled":false,
"verified":false,"statuses_count":306,"lang":"en",
"contributors_enabled":false,"is_translator":false,
"profile_background_color":"CC0000",
"coordinates":null,"place":null,"contributors":null,
"retweet_count":1,"favorited":false,"retweeted":false,"possibly_sensitive":false}]
{"created_at":"Tue May 08 19:45:51 +0000 2012","id":199948247710703616,
"id_str":"199948247710703616",
"text":"@mhess4 We agree! We still have several days to go. Hope you'll
be able to make it to one of our stops before Fri!",
"source":"u003ca href="http://www.exacttarget.com
/products/social.aspx?utm_source=sp1" rel="nofollow"u003eSocialEngageu003c/au003e",
"truncated":false,"in_reply_to_status_id":199527746962071553,
"in_reply_to_status_id_str":"199527746962071553",
"in_reply_to_user_id":36889749,"in_reply_to_user_id_str":"36889749",
"in_reply_to_screen_name":"mhess4","user":
{"id":80374332,"id_str":"80374332","name":"Citibank",
"screen_name":"Citibank","location":"","description":"Special offers,
ideas for managing your financial life, and
other updates from Citibank","url":"http://www.citi.com",
"protected":false,
"followers_count":9221,"friends_count":8454,
"listed_count":245,"created_at":"Tue Oct 06 18:49:45 +0000 2009","favourites_count":0,"utc_offset":-18000,
"time_zone":"Quito","geo_enabled":false,"verified":true,
"statuses_count":1592,"lang":"en","contributors_enabled":true,
"is_translator":false,"profile_background_color":"C0DEED",
"profile_background_image_url":"http://a0.twimg.com
/profile_background_images/95956292/twitter_bg_1280x1024.jpg",
"profile_background_image_url_https":"https://si0.twimg.com
/profile_background_images/95956292/twitter_bg_1280x1024.jpg",
"profile_background_tile":false,"profile_image_url":"http://a0.twimg.com
/profile_images/853331211/citi-co-r-3d_sm_rgb_normal.jpg","profile_image_url_https":
"https://si0.twimg.com/profile_images/853331211/citi-co-r-3d_sm_rgb_normal.jpg","profile_link_color":"0084B4",
"profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6",
"profile_text_color":"333333","profile_use_background_image":true,
"show_all_inline_media":false,"default_profile":false,
"default_profile_image":false,"following":null,"follow_request_sent":null,
"notifications":null},"geo":null,"coordinates":null,"place":null,
"contributors":null,"retweet_count":0,"favorited":false,"retweeted":false},..
现在我已经在这里格式化了代码并且没有粘贴整个文件,但它对我来说确实看起来像有效的 json,并且在从 Twitter API 接收流后我没有更改任何内容。有人可以指出我正确的方向吗?我真的需要解析这些东西吗?
无论如何,想通了。太慌了,没有看到明显的索尔。我只是确保我清理了 json 并使用在线 http://jsonformatter.curiousconcept.com/对其进行了验证清洁工。这样做并能够使用 json.net 转换为 JObject