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

Langage Delphi Discussion :

Recherche JSON d'un array particulier


Sujet :

Langage Delphi

  1. #1
    Membre habitué
    Homme Profil pro
    Chef de projets
    Inscrit en
    Août 2008
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 127
    Points : 195
    Points
    195
    Par défaut Recherche JSON d'un array particulier
    Bonjour,

    J'aurais voulu savoir s'il y existait une structure permettant de faire des requêtes sur un JSON, sans parcourir tout l'arbre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    {
    
    • "nhits":10568084,
    • "temp":18084,
    • "metrics":1084,
    • "dataset":[
      1. "Nom",
      2. "Prenom"
      ]
    }
    Dans l'exemple ci-dessus je voudrais travailler directement sur "dataset".
    Pouvez-vous me donner la meilleur démarche pour le faire ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var data = {
        "nhits":10568084,
        "temp":18084,
        "metrics":1084,
        "dataset":[
            "Nom",
            "Prenom"
        ]
    };
     
    alert(data.dataset);

  3. #3
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 387
    Points : 2 999
    Points
    2 999
    Par défaut
    on est dans le forum Delphi ici

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 387
    Points : 2 999
    Points
    2 999
    Par défaut
    Citation Envoyé par joc02 Voir le message
    Bonjour,

    J'aurais voulu savoir s'il y existait une structure permettant de faire des requêtes sur un JSON, sans parcourir tout l'arbre.

    Dans l'exemple ci-dessus je voudrais travailler directement sur "dataset".
    Pouvez-vous me donner la meilleur démarche pour le faire ?

    Sans indiquer la version de Delphi, difficile de répondre

  5. #5
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 387
    Points : 2 999
    Points
    2 999
    Par défaut
    avec XE

    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
    34
    35
    36
     
    uses System.Json;
     
    var
     T: string =
        '{' +
        '  "nhits": 10568084,' +
        '  "temp": 18084,' +
        '  "metrics": 1084,' +
        '  "dataset": [' +
        '    "Nom",' +
        '    "Prenom"' +
        '  ]' +
        '}';
     
    procedure TForm20.Button1Click(Sender: TObject);
    var
      Js, Ds: TJSONValue;
      V: TJSONArray;
      S: TJSONValue;
      I: Integer;
    begin
      Js := TJSONValue.Create;
      Js := TJSONObject.ParseJSONValue(T);
      ShowMessage(Js.ToJSON);
      V := Js.GetValue<TJSONArray>('dataset');
      ShowMessage(V.ToJSON);
      for I := 0 to V.Count - 1 do
        ShowMessage(V.Items[I].Value);
     
      // en condensé
      with TJSONObject.ParseJSONValue(T).GetValue<TJSONArray>('dataset') do
        for I := 0 to Count - 1 do
          ShowMessage(Items[I].Value);
     
    end;

  6. #6
    Membre habitué
    Homme Profil pro
    Chef de projets
    Inscrit en
    Août 2008
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 127
    Points : 195
    Points
    195
    Par défaut
    Merci Papy214.
    Je suis en Delphi Berlin donc pas de souci avec ta méthode.

  7. #7
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2010
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    je sais que cette discussion est "résolue", mais j'aimerais ajouter une question : avec Delphi 7, il ne semble pas possible d'utiliser System.JSON. Y a-t-il une autre solution similaire pour une vieille version Delphi ?

    Merci vraiment de m'aiguiller.

  8. #8
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 387
    Points : 2 999
    Points
    2 999
    Par défaut
    https://github.com/hgourvest/superobject

    je pense que ça doit fonctionner avec un vieux delphi

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    707
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 707
    Points : 777
    Points
    777

  10. #10
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 455
    Points : 24 867
    Points
    24 867
    Par défaut
    GoustiFruit, tu évoques mORMot !
    Me dirigeant vers un WS REST, ce Framework m'intéresse fortement, un avis ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    707
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 707
    Points : 777
    Points
    777
    Par défaut
    Hélas je n'ai pas les connaissances ni le niveau nécessaires pour comprendre le fonctionnement de tous les outils de ce framework, tout ce que je sais c'est que c'est du code très pointu, très optimisé, très efficace, très costaud.
    Même quand on a un bon niveau, j'imagine qu'il faut prendre le temps de lire la documentation pour assimiler les concepts, et le temps d'analyser les exemples.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2000] recherche une fonction d'affichage particulier des colonnes
    Par pat91 dans le forum Excel
    Réponses: 20
    Dernier message: 24/05/2009, 00h45
  2. Recherche un composant graphique bien particulier
    Par troubleshooting dans le forum Windows Forms
    Réponses: 11
    Dernier message: 03/04/2008, 17h06
  3. [Tableaux] Recherche évoluée dans un array PHP
    Par fanfouer dans le forum Langage
    Réponses: 2
    Dernier message: 01/03/2008, 13h23
  4. Recherche dans un string array
    Par NicoNGRI dans le forum C#
    Réponses: 2
    Dernier message: 15/02/2007, 09h54
  5. [Tableaux] rechercher dans une variable array()
    Par tom06440 dans le forum Langage
    Réponses: 2
    Dernier message: 29/03/2006, 17h45

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