>故障排除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中文网其他相关文章!