トラブルシューティングC#JSON降脱指定エラー
Facebook Graph API(Friends List)からのJSON応答をゆるくしながら、「プリミティブオブジェクトに遭遇すると「プリミティブオブジェクトが無効」エラーが発生しますか?このガイドはソリューションを提供します 1。 C#クラスの構造:JSONデータを正しくマッピングするには、一致するC#クラスを定義します。 構造は、JSONのネストされたオブジェクトと配列をミラーリングする必要があります。
2。<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>:
による脱気質化
JavaScriptSerializer
(
JavaScriptSerializer
System.Web.Script.Serialization
3。コードの例と出力:
<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>
プロセスを示す完全な例:
output:
<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>
この改訂されたアプローチにより、JSONデータの正確なマッピングが保証され、「プリミティブオブジェクトが無効」エラーを防ぎます。 脱出プロセス中に潜在的な例外を処理することを忘れないでください。 新しい.NETプロジェクトについては、より堅牢なJSONハンドリングにを使用することを検討してください。
以上がc#でFacebookグラフAPI JSONを降らせたときに、「プリミティブオブジェクトが無効」エラーを解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。