Maison >développement back-end >C++ >Comment extraire les données d'un tableau JSON à l'aide de JSON.net?

Comment extraire les données d'un tableau JSON à l'aide de JSON.net?

Barbara Streisand
Barbara Streisandoriginal
2025-01-24 15:22:10678parcourir

How to Extract Data from a JSON Array Using Json.net?

Utilisez Json.net pour analyser JSON

Accéder à des données JSON spécifiques

Considérez le format JSON suivant :

<code class="language-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
        }
    } ]
}</code>

Pour extraire uniquement les données du tableau "objects", vous pouvez utiliser Json.net pour désérialiser JSON en objets .NET :

Utilisez Json.net

<code class="language-csharp">Foo foo = JsonConvert.DeserializeObject<Foo>(json);</code>

Définissez les classes suivantes pour correspondre aux structures JSON :

<code class="language-csharp">public class NameTypePair
{
    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 SubObject
{
    public NameTypePair attributes { get; set; }
    public Position position { get; set; }
}

public class Foo
{
    public List<SubObject> objects { get; set; }
}</code>

Après la désérialisation, vous pouvez accéder aux données du tableau "objects" en utilisant l'attribut foo.objects.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn