使用下面的URL我试图拉动一个特定的屏幕名称有效的追随者.当我尝试将代码反序列化为一个ojbect时,我会在下面找到任何想法的错误消息.我也把代码用于Json类型..我想获得位置归档.我已经发布用户本身就是一个对象.所以我可以得到一个例子,它将让我对初始对象进行脱盐,然后将对象放入其中.
URL = "https://api.twitter.com/1.1/followers/list.json?&screen_name="will insert here "
反序列化为objec代码
var result = JsonConvert.DeserializeObject<List>(FollowerData)
Run Code Online (Sandbox Code Playgroud)
Json类型代码
public class Follower
{
[JsonProperty("created_at")]
public string CreatedAt { get; set; }
[JsonProperty("id")]
public string Id { get; set; }
[JsonProperty("id_str")]
public string IdStr { get; set; }
[JsonProperty("name")]
public string Name { get; set; }
[JsonProperty("screen_name")]
public string ScreenName { get; set; }
[JsonProperty("location")]
public bool Location { get; set; }
[JsonProperty("description")]
public string Description { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
错误信息
{"不能反序列化当前JSON对象(例如{\"名称\":\"值\"})成型'System.Collections.Generic.List`1 [OAuthTwitterWrapper.JsonTypes.FollowerUsers]’,因为类型要求JSON数组(例如[1,2,3])以正确反序列化.\ r \n要修复此错误要么将JSON更改为JSON数组(例如[1,2,3]),要么更改反序列化类型以使其成为正常.NET类型(例如不是原始类型像整数,而不是集合类型等的阵列或列表),其可以从一个JSON对象反序列化.JsonObjectAttribute也可以添加到该类型迫使它从JSON对象反序列化.\r \n路径'用户',第1行,第9位."}
Json String Examplt
{
"users": [
{
"id": 219566993,
"id_str": "219566993",
"name": "belenastorgano",
"screen_name": "anna_belenn_",
"location": "CapitalFederal, Argentina",
"description": "Mesientonomade, todav\\u00edanotengounlugarfijodondevivir.-",
"url": null,
"entities": {
"description": {
"urls": []
}
},
"protected": true,
"followers_count": 44,
"friends_count": 64,
"listed_count": 0,
"created_at": "ThuNov2506: 28: 12+00002010",
"favourites_count": 1,
"utc_offset": -10800,
"time_zone": "BuenosAires",
"geo_enabled": true,
"verified": false,
"statuses_count": 207,
"lang": "es",
"contributors_enabled": false,
"is_translator": false,
"profile_background_color": "599E92",
"profile_background_image_url": "http: \\/\\/a0.twimg.com\\/images\\/themes\\/theme18\\/bg.gif",
"profile_background_image_url_https": "https: \\/\\/si0.twimg.com\\/images\\/themes\\/theme18\\/bg.gif",
"profile_background_tile": false,
"profile_image_url": "http: \\/\\/a0.twimg.com\\/profile_images\\/378800000326157070\\/e91b8fd8e12eda0a7fa350dcd286c56a_normal.jpeg",
"profile_image_url_https": "https: \\/\\/si0.twimg.com\\/profile_images\\/378800000326157070\\/e91b8fd8e12eda0a7fa350dcd286c56a_normal.jpeg",
"profile_link_color": "E05365",
"profile_sidebar_border_color": "EEEEEE",
"profile_sidebar_fill_color": "F6F6F6",
"profile_text_color": "333333",
"profile_use_background_image": true,
"default_profile": false,
"default_profile_image": false,
"following": null,
"follow_request_sent": null,
"notifications": null
}
],
"next_cursor": 1443863551966642400,
"next_cursor_str": "1443863551966642309",
"previous_cursor": 0,
"previous_cursor_str": "0"
}
Run Code Online (Sandbox Code Playgroud)
我需要的唯一字段是用户表中的位置
你不需要任何类来从你的json中获取一些字段.只是利用dynamic
dynamic dynObj = JsonConvert.DeserializeObject(json);
Console.WriteLine(dynObj.users[0].location);
Run Code Online (Sandbox Code Playgroud)