我正在C#中使用我自己的小型Twitter應用程序。 我已經成功地從序列https://api.twitter.com/1/followers/ids.json?cursor=-1&screen_name= 它返回這樣的JSON數據:C#序列化JSON從Twitter沒有數據成員
{ "ids" : [ 401295021,
506271294,
14405250,
25873220
],
"next_cursor" : 0,
"next_cursor_str" : "0",
"previous_cursor" : 0,
"previous_cursor_str" : "0"
}
使用這個類,我可以把它序列化:
[DataContract]
public class TwitterFollowers
{
[DataMember(Name = "ids")]
public IList<int> AccountIDs { get; set; }
}
現在我想要得到的屏幕名稱追隨者,所以我用這個網址: http://api.twitter.com/1/users/lookup.json?user_id=
此JSON看起來是這樣的:
[ { "contributors_enabled" : false,
"created_at" : "Wed Apr 16 06:30:52 +0000 2008",
"default_profile" : false,
"default_profile_image" : false,
"description" : "",
"utc_offset" : -25200,
"verified" : false
},
{ "contributors_enabled" : false,
"created_at" : "Tue Mar 04 12:31:57 +0000 2008",
"default_profile" : true,
"default_profile_image" : false,
"description" : "",
"utc_offset" : 3600,
"verified" : false
}
]
正如你所看到的,該陣列立即啓動,而無需命名。 我的班級應該如何序列化這個?
我試過這個,但是,這並不工作:
[DataContract]
public class TwitterProfiles
{
[DataMember(Name = "")]
public IList<TwitterProfile> Profiles { get; set; }
}
[DataContract]
public class TwitterProfile
{
[DataMember(Name = "lang")]
public string Language { get; set; }
[DataMember(Name = "location")]
public string Location { get; set; }
[DataMember(Name = "name")]
public string Name { get; set; }
[DataMember(Name = "screen_name")]
public string ScreenName { get; set; }
[DataMember(Name = "url")]
public string URL { get; set; }
}
您是否嘗試過只刪除「名稱」屬性可將DataMember屬性一起?含義,[DataMember] public IList Profiles {get;組; } –
2012-03-06 22:11:56
你的意思是反序列化? – Kekoa 2012-03-06 22:26:18