Heim >Backend-Entwicklung >C++ >Wie können C# -Strukturen komplexe JSON -Objekte effizient von APIs deserialisieren?

Wie können C# -Strukturen komplexe JSON -Objekte effizient von APIs deserialisieren?

Linda Hamilton
Linda HamiltonOriginal
2025-02-02 06:56:11844Durchsuche

How Can C# Structs Efficiently Deserialize Complex JSON Objects from APIs?

Verwenden Sie die C#-Struktur, um das komplizierte JSON -Objekt

stark zu vertiefen Wenn es sich um komplexe JSON -Objekte handelt, reicht es oft nicht aus, nur in eine Liste von Grundtypen umgewandelt zu werden. Um die verschachtelte Struktur effektiv zu behandeln, wird die C#-Struktur empfohlen.

<:> Frage:

JSON -Objekt, das aus der Facebook -Graph -API erhalten wurde, kann aufgrund ungültiger ursprünglicher Objekte nicht in eine Liste von Objekten serialisiert werden.

Lösung:

Definitionsstruktur: Erstellen Sie eine separate Struktur, die externe und interne JSON -Objekte darstellt. Betrachten Sie beispielsweise eine Friends -Struktur, die eine Liste von Facebookfriend -Strukturen enthält:

  1. Kapitalisiert JSON:
  2. Verwenden Sie
, um JSON zu Freundenstruktur zu sequenisieren:
<code class="language-csharp">public class Friends
{
    public List<FacebookFriend> data { get; set; }
}

public class FacebookFriend
{
    public string id { get; set; }
    public string name { get; set; }
}</code>
  1. Zugriff auf interne Objekte: JavaScriptSerializer Jetzt können Sie auf das interne Objekt zugreifen, indem Sie die Datenliste der Friends -Struktur iteriert:
<code class="language-csharp">Friends facebookFriends = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<Friends>(result);</code>
    Beispiel:
  1. Ausgabe:
<code class="language-csharp">foreach (var item in facebookFriends.data)
{
    Console.WriteLine("id: {0}, name: {1}", item.id, item.name);
}</code>

Das obige ist der detaillierte Inhalt vonWie können C# -Strukturen komplexe JSON -Objekte effizient von APIs deserialisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn