>故障排除c#json deerialization錯誤
>遇到“原始對像是無效的”錯誤,同時從Facebook Graph API(朋友列表)的JSON響應中進行了驗證?本指南提供了一個解決方案。
1。構造您的C#類:
>正確映射JSON數據,定義匹配的C#類。 結構必須鏡像JSON的嵌套對象和數組。
public class FacebookFriendsResponse { public List<FacebookFriend> data { get; set; } } public class FacebookFriend { public string id { get; set; } public string name { get; set; } }
2。用JavaScriptSerializer
>:
>使用JavaScriptSerializer
(在System.Web.Script.Serialization
中使用)將JSON字符串置於定義的類結構中。
FacebookFriendsResponse facebookFriends; // ... obtain 'result' string from Facebook API call ... using (var js = new System.Web.Script.Serialization.JavaScriptSerializer()) { facebookFriends = js.Deserialize<FacebookFriendsResponse>(result); }
3。代碼示例和輸出:
這是一個完整的示例,展示了該過程:
string json = @"{""data"":[{""id"":""518523721"",""name"":""ftyft""}, {""id"":""527032438"",""name"":""ftyftyf""}, {""id"":""527572047"",""name"":""ftgft""}, {""id"":""531141884"",""name"":""ftftft""}]}"; using (var js = new System.Web.Script.Serialization.JavaScriptSerializer()) { FacebookFriendsResponse facebookFriends = js.Deserialize<FacebookFriendsResponse>(json); foreach (var friend in facebookFriends.data) { Console.WriteLine($"id: {friend.id}, name: {friend.name}"); } }
輸出:
<code>id: 518523721, name: ftyft id: 527032438, name: ftyftyf id: 527572047, name: ftgft id: 531141884, name: ftftft</code>
以進行更強大的JSON處理。
以上是當在C#中挑選Facebook Graph API JSON時,如何解決'原始對象無效”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!