利用C#結構體高效反序列化複雜JSON對象
當處理複雜的JSON對象時,僅僅反序列化成基本類型列表往往不夠。為了有效處理嵌套結構,建議使用C#結構體。
問題: 從Facebook Graph API獲取的JSON對象由於無效的原始對象而無法反序列化成對象列表。
解決方案:
public class Friends { public List<FacebookFriend> data { get; set; } } public class FacebookFriend { public string id { get; set; } public string name { get; set; } }
JavaScriptSerializer
將JSON反序列化到Friends結構體:Friends facebookFriends = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<Friends>(result);
foreach (var item in facebookFriends.data) { Console.WriteLine("id: {0}, name: {1}", item.id, item.name); }
示例:
string json = @"{""data"":[{""id"":""518523721"",""name"":""ftyft""}, {""id"":""527032438"",""name"":""ftyftyf""}, {""id"":""527572047"",""name"":""ftgft""}, {""id"":""531141884"",""name"":""ftftft""}]}"; Friends facebookFriends = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize(json); foreach (var item in facebookFriends.data) { Console.WriteLine("id: {0}, name: {1}", item.id, item.name); }
輸出:
<code>id: 518523721, name: ftyft id: 527032438, name: ftyftyf id: 527572047, name: ftgft id: 531141884, name: ftftft</code>
以上是C#構造如何有效地從API中估算複雜的JSON對象?的詳細內容。更多資訊請關注PHP中文網其他相關文章!