IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Lecture des données fournies par une API


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 29
    Par défaut Lecture des données fournies par une API
    Bonjour tout le monde !

    Je cherche à lire des données fournies par une api et je ne m'en sors pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var clientRecupContact = new RestClient(baseURL);
    var requestRecupContact = new RestRequest("l'url de mon api", Method.GET);
    requestRecupContact.AddHeader("Content-Type", "application/json");
    requestRecupContact.AddHeader("Authorization", "KEY" + globalVar.KeyAccess);
    IRestResponse responseRecupContact = clientRecupContact.Execute(requestRecupContact);
    dynamic RecupContact = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(responseRecupContact.Content);
     
    LogWrite("RecupContact est : " + RecupContact);
    Mon recupContact ressemble à ça :

    Code JSON : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    "questions": {
        "allIds": [
          "9d45cef5468-z357743-359d3546",
          "97y29562jz2-e35462d-2d3531dt",
          ]
        "byId": {
          "9d45cef5468-z357743-359d3546": {
            "id": "9d45cef5468-z357743-359d3546",
            "sequence": 1,
            "TypeDequestion": "ATTRIBUT",
            "need": true,
            "name": "Nom de Question numéro 1",
            },
     
          "97y29562jz2-e35462d-2d3531dt": {
            "id": "97y29562jz2-e35462d-2d3531dt",
            "sequence": 2,
            "TypeDequestion": "ATTRIBUT",
            "need": false,     
           "name": "Nom de Question numéro 2",   
            }
        }
    }

    Si je fais ensuite un LogWrite(RecupContact.questions.byID) j'obtiens ça :

    Code JSON : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
        "byId": {
          "9d45cef5468-z357743-359d3546": {
            "id": "9d45cef5468-z357743-359d3546",
            "sequence": 1,
            "TypeDequestion": "ATTRIBUT",
            "need": true,
            "name": "Nom de Question numéro 1",
            },
     
          "97y29562jz2-e35462d-2d3531dt": {
            "id": "97y29562jz2-e35462d-2d3531dt",
            "sequence": 2,
            "TypeDequestion": "ATTRIBUT",
            "need": false,     
           "name": "Nom de Question numéro 2",   
            }
        }

    Je veux pouvoir récupérer mes noms de questions ... Comment je peux faire ça ?
    Si je fais un LogWrite(RecupContact.questions.byID.9d45cef5468-z357743-359d3546.friendlyName) ça bug a cause des chiffres ce que je trouve normal... C'est un tableau que je dois lire ?

    Merci de votre aide !

    Mojito

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    tu copie le json, dans visual studio tu fais un nouveau fichier et tu fais edition/collage spécial/json
    ca va te créer les classes nécessaires au json
    ensuite au lieu de deserialize en dynamic tu deserializes sur la classe mère générée
    après tu peux parcourir le résultat en POO
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 29
    Par défaut
    Hello Pol63,

    merci de ta réponse si rapide.
    Est-ce la seule méthode ?
    Car la je t'ai montré un exemple de question sur une seule section.
    J'ai une section à checker avec 200 questions différentes et j'ai peur de me perdre si j'ai trop d'attributs dans tous les sens.

    Il faudrait que je créé ça pour chacune de mes sections et j'en ai pas mal...

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    ca va analyser la structure du json et la structure doit être la même partout, donc ca ne va créer qu'une ou deux classes avec les quelques propriétés nécessaires, et après tu peux lire toute une collection d'instance pour trouver ce que tu cherches
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/03/2015, 15h01
  2. [Débutant] Lecture des données à partir d'une console
    Par zdig10 dans le forum C#
    Réponses: 6
    Dernier message: 14/09/2011, 13h01
  3. accès à des données centralisées par une appli
    Par SpaceFrog dans le forum SharePoint
    Réponses: 3
    Dernier message: 07/01/2011, 08h31
  4. Réponses: 1
    Dernier message: 21/09/2007, 08h59
  5. Réponses: 2
    Dernier message: 31/05/2007, 10h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo