Heim > Backend-Entwicklung > C++ > Wie kann ich verschachtelte JSON -Daten mit JSON.net in C# -Objekte analysieren?

Wie kann ich verschachtelte JSON -Daten mit JSON.net in C# -Objekte analysieren?

Mary-Kate Olsen
Freigeben: 2025-01-24 15:02:09
Original
767 Leute haben es durchsucht

How to Parse Nested JSON Data into C# Objects using Json.NET?

Verwenden Sie Json.NET, um JSON zu analysieren

Json.NET ist eine beliebte Bibliothek zur Verarbeitung von JSON-Daten in der .NET-Umgebung. Es bietet eine praktische Möglichkeit, JSON-Zeichenfolgen zu analysieren und in C#-Objekte zu serialisieren.

Objekte zum Parsen von JSON verwenden

Um JSON in ein Objekt zu analysieren, können Sie die Methode JsonConvert.DeserializeObject<T> verwenden, wobei T der Typ des Objekts ist, das Sie erstellen möchten. Für den bereitgestellten JSON können Sie die folgende Klasse erstellen:

<code class="language-csharp">public class DisplayFieldName
{
    public string OBJECT_NAME { get; set; }
}

public class NameTypePair
{
    public string Name { get; set; }
    public string Type { get; set; }
}

public class FieldAliases
{
    public NameTypePair OBJECT_NAME { get; set; }
    public NameTypePair OBJECT_TYPE { get; set; }
}

public class PositionType
{
    public string Type { get; set; }
}

public class Reference
{
    public int Id { get; set; }
}

public class Attributes
{
    public string OBJECT_NAME { get; set; }
    public string OBJECT_TYPE { get; set; }
}

public class Position
{
    public int X { get; set; }
    public int Y { get; set; }
}

public class ObjectItem
{
    public Attributes Attributes { get; set; }
    public Position Position { get; set; }
}

public class Foo
{
    public DisplayFieldName DisplayFieldName { get; set; }
    public FieldAliases FieldAliases { get; set; }
    public PositionType PositionType { get; set; }
    public Reference Reference { get; set; }
    public List<ObjectItem> Objects { get; set; }
}</code>
Nach dem Login kopieren

Nachdem Sie diese Klassen erstellt haben, können Sie den JSON in ein Foo-Objekt analysieren:

<code class="language-csharp">string json = @"{
    ""displayFieldName"" : ""OBJECT_NAME"", 
    ""fieldAliases"" : {
        ""OBJECT_NAME"" : ""OBJECT_NAME"", 
        ""OBJECT_TYPE"" : ""OBJECT_TYPE""
    }, 
    ""positionType"" : ""point"", 
    ""reference"" : {
        ""id"" : 1111
    }, 
    ""objects"" : [
        {
            ""attributes"" : {
                ""OBJECT_NAME"" : ""test name"", 
                ""OBJECT_TYPE"" : ""test type""
            }, 
            ""position"" : {
                ""x"" : 5, 
                ""y"" : 7
            }
        }
    ]
}";

Foo foo = JsonConvert.DeserializeObject<Foo>(json);</code>
Nach dem Login kopieren

Auf verschachtelte Eigenschaften zugreifen

Um auf Daten in einem Foo-Objekt zuzugreifen, können Sie Eigenschaften und Indexer verwenden. Um beispielsweise den Wert „Testname“ aus dem Objektarray abzurufen, würden Sie Folgendes verwenden:

<code class="language-csharp">
string name = foo.Objects[0].Attributes.OBJECT_NAME;
```  代码中对`NameTypePair`类进行了修改,使其更符合实际情况,并更正了`Objects`列表的类型为`ObjectItem`。  这使得代码更清晰,也更易于理解和维护。</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich verschachtelte JSON -Daten mit JSON.net in C# -Objekte analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage