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

WinDev Discussion :

Utilisation de Json.net avec Windev


Sujet :

WinDev

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Utilisation de Json.net avec Windev
    Bonjour,

    J'utilise la librairie Json.NET, qui me permet de lire un item et de convertir un tableau en JSON.

    Mon problème, je n'arrive pas à convertir du json vers un tableau. Quelqu'un a-t-il une idée ?

    Exemple de json :
    Code : 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
    24
    25
    26
    27
    28
    29
     
    {
       "clients":[
          {
             "id":"1",
             "code":"123",
             "nom":"test1",
             "adresse":"test1",
             "code_postal":"12345",
             "ville":"test1"
          },
          {
             "id":"2",
             "code":"124",
             "nom":"test2",
             "adresse":"test2",
             "code_postal":"12345",
             "ville":"test2"
          },
          {
             "id":"3",
             "code":"125",
             "nom":"test3",
             "adresse":"test3",
             "code_postal":"12345",
             "ville":"test3"
          }
       ]
    }
    Url de la lib :
    http://json.codeplex.com/

    Merci
    Vincent

  2. #2
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Pour un Json simple, j'arrive à récupérer les valeurs avec le code suivant :

    Json :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {"connexion":"yes","jeton":"525310ff-f03e-a0c9-021a-000038a8469a"}
    windev:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    pclJson est un JObject dynamique // Objet JSON
    pclToken est un JObject dynamique // Token
    sConnexion, sUid sont des chaînes // Donnée à récupérer
    pclJson = JObject.Parse(sResult) // Parse la chaîne
     
    pclToken = pclJson.get_Item("connexion")
    SI pclToken <> Null ALORS
    	sConnexion = pclToken.ToString()
    FIN
     
    pclToken = pclJson.get_Item("jeton")
    SI pclToken <> Null ALORS
    	sUid = pclToken.ToString()
    FIN
    ...

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Je continu mon monologue, j'arrive finalement à parser mon json. J'ai besoin d'aide pour l'optimisation ...

    Attention code potentiellement horrible :
    Code : 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    pclJson est un JObject dynamique // Objet JSON
    pclToken est un JObject dynamique // Token
    pclToken2 est un JObject dynamique // Token
    pclToken3 est un JObject dynamique // Token
    pclTokenArr est un JArray dynamique
    sJsonNom, sJsonCode, sJsonAdresse sont des chaînes // Donnée à récupérer
    nbItem est un entier
    nInd est un entier = 0
     
    pclJson = JObject.Parse(sResult)
    pclToken = pclJson.SelectToken("rows")
     
    pclToken3 = pclToken.get_Count()
    nbItem = pclToken3.ToString()
     
    TANTQUE nInd<nbItem
    	pclToken2 = pclToken.get_Item(nInd)
     
    	pclTokenArr = pclToken2.get_Item("id")
    	sJsonNom = pclTokenArr.ToString()
    	Trace("id : " + sJsonNom)
     
    	pclTokenArr = pclToken2.get_Item("code")
    	sJsonCode = pclTokenArr.ToString()
    	Trace("Code : " + sJsonCode)
     
    	pclTokenArr = pclToken2.get_Item("adresse")
    	sJsonAdresse = pclTokenArr.ToString()
    	Trace("Adresse : " + sJsonAdresse)
     
    	nInd++
    FIN

  4. #4
    Membre à l'essai Avatar de DavidArwen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 30
    Points : 12
    Points
    12
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Qu'elle dll est à charger pour pouvoir parser le JSON
    ChargeDLL ??
    Merci de vos réponses

Discussions similaires

  1. utilisation de l'API avec Windev de PcSoft
    Par goolit dans le forum IGN API Géoportail
    Réponses: 9
    Dernier message: 23/03/2015, 10h30
  2. [WD17] Comment caster un objet .NET avec Windev ?
    Par courdi95 dans le forum WinDev
    Réponses: 1
    Dernier message: 26/01/2013, 17h43
  3. Utiliser un webservice .NET avec flex
    Par catd dans le forum Flex
    Réponses: 1
    Dernier message: 12/10/2007, 15h46
  4. [WD10] gérer un evenement .NET avec windev
    Par pagodas dans le forum WinDev
    Réponses: 2
    Dernier message: 26/07/2007, 14h13
  5. Probleme d'utilisation de directX 9 avec visual studio.net
    Par cranedoeuf dans le forum DirectX
    Réponses: 1
    Dernier message: 24/05/2004, 04h33

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