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

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

Barbara Streisand
发布: 2025-02-02 07:01:08
原创
681 人浏览过

How to Resolve

>故障排除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数据的准确映射,防止“原始对象无效”错误。 请记住在避难过程中处理潜在的例外。 对于较新的.NET项目,请考虑使用

以进行更强大的JSON处理。

以上是当在C#中挑选Facebook Graph API JSON时,如何解决'原始对象无效”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板