首页 >后端开发 >C++ >当在C#中挑选Facebook Graph API JSON时,如何解决'原始对象无效”错误?

当在C#中挑选Facebook Graph API JSON时,如何解决'原始对象无效”错误?

Barbara Streisand
Barbara Streisand原创
2025-02-02 07:01:08683浏览

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