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

Delphi Discussion :

Delphi XE7 et JSON


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2013
    Messages : 20
    Points : 15
    Points
    15
    Par défaut Delphi XE7 et JSON
    Bonjour,
    Je cherche a exploiter des données json depuis un site web sous cette format :
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    <RapJ>
    <Budget>0</Budget>
    <Capchb>0</Capchb>
    <Caplit>0</Caplit>
    <Cddep i:nil="true"/>
    <Cdreg i:nil="true"/>
    <Chbarr>0</Chbarr>
    <Chbblq>0</Chbblq>
    <Chbdep>0</Chbdep>
    <Chboccgrt>0</Chboccgrt>
    <Chboccpay>0</Chboccpay>
    <Chocc_Bud>0</Chocc_Bud>
    <Cltarr>0</Cltarr>
    <Cltdep>0</Cltdep>
    <Dat>0001-01-01T00:00:00</Dat>
    <Libdep>% Fréquentation:</Libdep>
    <Libreg i:nil="true"/>
    <Mnt_Tc>0</Mnt_Tc>
    <Mnt_Tpt>0</Mnt_Tpt>
    <Nt_Bud>0</Nt_Bud>
    <Nuitgrt>0</Nuitgrt>
    <Nuitpay>0</Nuitpay>
    <Report>0</Report>
    <Total>34.470989761092150170648464160</Total>
    <Ttva>0</Ttva>
    </RapJ>
    <RapJ>
    <Budget>0</Budget>
    <Capchb>0</Capchb>
    <Caplit>0</Caplit>
    <Cddep i:nil="true"/>
    <Cdreg i:nil="true"/>
    <Chbarr>0</Chbarr>
    <Chbblq>0</Chbblq>
    <Chbdep>0</Chbdep>
    <Chboccgrt>0</Chboccgrt>
    <Chboccpay>0</Chboccpay>
    <Chocc_Bud>0</Chocc_Bud>
    <Cltarr>0</Cltarr>
    <Cltdep>0</Cltdep>
    <Dat>0001-01-01T00:00:00</Dat>
    <Libdep>% Occupation:</Libdep>
    <Libreg i:nil="true"/>
    <Mnt_Tc>0</Mnt_Tc>
    <Mnt_Tpt>0</Mnt_Tpt>
    <Nt_Bud>0</Nt_Bud>
    <Nuitgrt>0</Nuitgrt>
    <Nuitpay>0</Nuitpay>
    <Report>0</Report>
    <Total>34.042553191489361702127659570</Total>
    <Ttva>0</Ttva>
    </RapJ>
    Je voudrai récupérer les données de chaque <Libdep> et <Total>
    Je sèche la

  2. #2
    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
    ça ressemble pas vraiment à du json

    http://jsonformatter.curiousconcept.com/

  3. #3
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 288
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 288
    Points : 1 936
    Points
    1 936
    Par défaut
    ça ressemble à du XML plutôt. Donc IXMLDocument ou TXMLDocument.
    Delphi 7/XE2/XE3
    C#
    Oracle 9i à 12c
    SQL Server 2008 à 2014

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2013
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Je viens de changer mon fichier output en 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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
       {  
          "Dat":"0001-01-01T00:00:00",
          "Cddep":null,
          "Libdep":"% Fréquentation:",
          "Total":36.860068259385665529010238910,
          "Budget":0.0,
          "Ttva":0.0,
          "Cdreg":null,
          "Libreg":null,
          "Chboccpay":0,
          "Chboccgrt":0,
          "Nuitpay":0,
          "Nuitgrt":0,
          "Chbblq":0,
          "Capchb":0,
          "Caplit":0,
          "Chbarr":0,
          "Cltarr":0,
          "Chbdep":0,
          "Cltdep":0,
          "Report":0.0,
          "Chocc_Bud":0.0,
          "Nt_Bud":0.0,
          "Mnt_Tpt":0.0,
          "Mnt_Tc":0.0
       },
       {  
          "Dat":"0001-01-01T00:00:00",
          "Cddep":null,
          "Libdep":"% Occupation:",
          "Total":39.893617021276595744680851060,
          "Budget":0.0,
          "Ttva":0.0,
          "Cdreg":null,
          "Libreg":null,
          "Chboccpay":0,
          "Chboccgrt":0,
          "Nuitpay":0,
          "Nuitgrt":0,
          "Chbblq":0,
          "Capchb":0,
          "Caplit":0,
          "Chbarr":0,
          "Cltarr":0,
          "Chbdep":0,
          "Cltdep":0,
          "Report":0.0,
          "Chocc_Bud":0.0,
          "Nt_Bud":0.0,
          "Mnt_Tpt":0.0,
          "Mnt_Tc":0.0
       }

  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
    en mettant la chaîne dans un fichier, ça donne:

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    unit Unit1;
     
    interface
     
    uses
      Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
      Vcl.Controls, Vcl.Forms, Vcl.Dialogs, json, Vcl.StdCtrls;
     
    type
      TForm1 = class(TForm)
        Button1: TButton;
        Memo1: TMemo;
        procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.Button1Click(Sender: TObject);
    const
      Fichier = 'C:\Fichiers\jsontext.txt';
    var
      Element: TJSONValue;
      Tablo: TJSONArray;
      S: string;
    begin
     
      with TStringStream.Create('', TEncoding.UTF8) do
      begin
        LoadFromFile(Fichier);
        S := DataString;
        Free;
      end;
     
      try
        Tablo := TJSONObject.ParseJSONValue(S) as TJSONArray;
        Element := Tablo.Items[0];
        S := Element.GetValue<string>('Libdep');
        Memo1.Lines.Add(S);
        S := Element.GetValue<string>('Total');
        Memo1.Lines.Add(S);
      finally
        Element.Free;
      end;
     
    end;
     
    end.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2013
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Merci, mais ça m'affiche uniquement les premières lignes de mon fichier, je dois répertorier tous les Libdep et Total!

  7. #7
    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
    Comme son nom l'indique, Tablo est un tableau . Il suffit de prendre chaque élément de 0 à Tablo.Count.

    Ici, on aide, on ne fait pas tout le code de l'application

  8. #8
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2013
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Parfait ,, je l'avoue j’étais con sur coup la.. merci en tout cas

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

Discussions similaires

  1. Numéro de version pour Delphi XE7 update 1
    Par free07 dans le forum EDI
    Réponses: 3
    Dernier message: 22/05/2015, 11h32
  2. Delphi XE7 installable sur un dd de 800 Go ?
    Par bvsud dans le forum Débuter
    Réponses: 12
    Dernier message: 20/04/2015, 19h16
  3. Réponses: 0
    Dernier message: 21/12/2014, 11h23
  4. Pas d'évènement OnActivate avec Delphi XE7
    Par Teddy dans le forum Débuter
    Réponses: 2
    Dernier message: 17/11/2014, 15h32
  5. Réponses: 0
    Dernier message: 10/10/2014, 19h18

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