首頁 >後端開發 >C++ >當在C#中挑選Facebook Graph API JSON時,如何解決'原始對象無效”錯誤?

當在C#中挑選Facebook Graph API JSON時,如何解決'原始對象無效”錯誤?

Barbara Streisand
Barbara Streisand原創
2025-02-02 07:01:08632瀏覽

How to Resolve

>故障排除c#json deerialization錯誤

>遇到“原始對像是無效的”錯誤,同時從Facebook Graph API(朋友列表)的JSON響應中進行了驗證?本指南提供了一個解決方案。

1。構造您的C#類:

>正確映射JSON數據,定義匹配的C#類。 結構必須鏡像JSON的嵌套對象和數組。

<code class="language-csharp">public class FacebookFriendsResponse
{
    public List<FacebookFriend> data { get; set; }
}

public class FacebookFriend
{
    public string id { get; set; }
    public string name { get; set; }
}</code>

2。用JavaScriptSerializer>:

進行驗證

>使用JavaScriptSerializer(在System.Web.Script.Serialization中使用)將JSON字符串置於定義的類結構中。 >

<code class="language-csharp">FacebookFriendsResponse facebookFriends;

// ... obtain 'result' string from Facebook API call ...

using (var js = new System.Web.Script.Serialization.JavaScriptSerializer())
{
    facebookFriends = js.Deserialize<FacebookFriendsResponse>(result);
}</code>

3。代碼示例和輸出:

這是一個完整的示例,展示了該過程:

<code class="language-csharp">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>

輸出:

<code>id: 518523721, name: ftyft
id: 527032438, name: ftyftyf
id: 527572047, name: ftgft
id: 531141884, name: ftftft</code>
這種修訂的方法確保了JSON數據的準確映射,防止“原始對象無效”錯誤。 請記住在避難過程中處理潛在的例外。 對於較新的.NET項目,請考慮使用

以進行更強大的JSON處理。

以上是當在C#中挑選Facebook Graph API JSON時,如何解決'原始對象無效”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn