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

Discussion :

Extraire une chaîne de caractères selon certains critères

  1. #1
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut Extraire une chaîne de caractères selon certains critères
    Bonsoir,

    Je voudrais recuperer les 5 caracteres qui suivent ma chaine de recherche d'un fichier texte:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if monfichier.contains("\"movie\":[{\"code\":"){instruction pour recuperer les 5 caracteres suivant ?}
    et aussi recuperer un nombre X de caracteres qui sont compris entre une chaine A et une chaine B?

    J'ai cherché un tuto sur la manipulation de caracteres dans cette optique là mais ...

    Cordialement

  2. #2
    Membre émérite
    Avatar de VivienD
    Homme Profil pro
    Développeur logiciel
    Inscrit en
    Octobre 2009
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur logiciel
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 523
    Points : 2 278
    Points
    2 278

  3. #3
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut
    Bonjour,

    J'avais pas percuté sur le QString::left(int n)

    Merci, il me reste a trouver une methode pour extraire le contenu variable entre deux chaines connues

    Cordialement

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Salut.
    C'est du Json non?
    SI oui, regard plutôt http://qjson.sourceforge.net/

  5. #5
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut
    Bonjour,

    oui, bien vue, je regarde.

    Cordialement

  6. #6
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut
    Bonsoir,

    J'ai donc telecharger QJson a cette adresse :
    http://sourceforge.net/projects/qjson/files/

    2/ copier dans mon repertoire ou se trouve mon projet.

    3/ dans .pro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INCLUDEPATH += ./qjson/src
    4/ dans mon cpp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include "qjson/src/parser.h"
    5/ dans mon cpp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    MyAppDirPath = QCoreApplication::applicationDirPath();
    filename = (MyAppDirPath + "/" + "search");
    QJson::Parser parser;
    bool ok;
    ui->recupAlloCine->append(parser.parse (filename, &ok));
    message d'erreur :

    K:\Programmation\C++\QtC++GestXavMedias2\allocine.cpp:21: erreur : no matching function for call to 'QJson:arser::parse(QString&, bool*)'
    K:\Programmation\C++\QtC++GestXavMedias2\qjson\src\parser.h:48: candidates are: QVariant QJson:arser::parse(QIODevice*, bool*)
    K:\Programmation\C++\QtC++GestXavMedias2\qjson\src\parser.h:58: note: QVariant QJson:arser::parse(const QByteArray&, bool*)
    qu'est ce que je fais comme bêtise(s) ?

    Cordialement

  7. #7
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968

  8. #8
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut
    bonjour,

    mon repertoire QJson :

    D:\Programmation\C++\qjson
    repertoires contenues dans QJson :

    cmake
    doc
    lib (vide)
    src (fichiers de qjson)
    tests

    j'utilise Qt SDK (la derniere version téléchargeable)

    pour compiler : Qt 4.8.1 for Desktop (MinGW)

    1/ je me positionne sur qjson/src :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cd /D D:\Programmation\C++\qjson\src
    2/ //cree un .pro

    3/ //cree repertoire debug et release

    4/ je ne sais pas tout ce que j'ai essayer ne fonctionne pas

    => aidez moi s'il vous plait

    cordialement

  9. #9
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 669
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 669
    Points : 188 660
    Points
    188 660
    Par défaut


    Par le plus grand des hasards, chose vraiment imprévue et imprévisible par quiconque... n'y aurait-il pas une documentation (dans un certain dossier doc) ? Aux alentours de la ligne 75 du fichier qjson.dox, tu trouveras quelque chose qui pourrait t'intéresser. Si tu préfères lire un format plus prévu pour la lecture, tu peux aussi regarder http://qjson.sourceforge.net/get_it/windows.html.

  10. #10
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut
    bonjour,

    les .dox je ne peux pas les lires, je n'est pas visual.

    et cela fait 2 jours que j'essaye de mettre en application une des procedures contenue dans ce lien et rien a faire!

    quand tu télécharge QJson, il n'y a pas de .pro, donc la procedure directe avec qt creator, tu oublis. Et les autres procedures "ne fonctionnent pas" en l'état.

    Cordialement

  11. #11
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 669
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 669
    Points : 188 660
    Points
    188 660
    Par défaut
    Citation Envoyé par morinxav1 Voir le message
    les .dox je ne peux pas les lires, je n'est pas visual.
    ? C'est un fichier texte... Ça se génère en HTML avec Doxygen, rien de « visual » ou de « visuel » là-dedans...

    Citation Envoyé par morinxav1 Voir le message
    quand tu télécharge QJson, il n'y a pas de .pro, donc la procedure directe avec qt creator, tu oublis. Et les autres procedures "ne fonctionnent pas" en l'état.
    Là, on a surtout l'impression que tu lis bien ce qu'il est écrit... puis que tu fais tout le contraire . Il y a bien un fichier PRO (http://gitorious.org/qjson/qjson/blobs/master/qjson.pro) et un CMakeList (http://gitorious.org/qjson/qjson/blo...CMakeLists.txt). Que veux-tu de plus ?

  12. #12
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut
    Bonjour,

    Une petite synthèse s'impose !

    le lien pour télécharger QJson :
    http://gitorious.org/qjson/qjson/commits/master

    puis: cliquer sur : Download master as tar.gz (7z pour décompresser par exemple)

    Là, effectivement, il y a tous les .pro qu'il nous faut pour compiler sous qt creator.
    La dll est bien créée.

    pour l'erreur que j'avais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QByteArray json = (leqstring.toUtf8());
    et après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QVariant result = parser.parse (json, &ok);
    ne pas oublier dans le .pro :

    LIBS += -L le/chemin/de/qjson/lib -lqjson0

    maintenant il me dit qu'il y a une erreur dans mon fichier; a suivre

    Cordialement

  13. #13
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut
    Bonsoir,

    j'ai teste mon fichier en ligne il est bon.

    Donc il y a encore quelque chose qui ne colle pas (certainement dans ma conversion de mon fichier en QByteArray.

    une petite idée ?

    Cordialement

  14. #14
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Salut
    Citation Envoyé par morinxav1 Voir le message
    une petite idée ?
    Qu'es ce qui ne marche pas ?

  15. #15
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut
    salut,

    Donc voila mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    MyAppDirPath =  QCoreApplication::applicationDirPath();
    filename = (MyAppDirPath + "/" + "search");
    QByteArray json = filename.toUtf8();
    QJson::Parser parser;
    bool ok;
    QVariant result = parser.parse (json, &ok);
    qDebug()<< result;
    et le message d'erreur :
    QVariant(, )
    json_parser - syntax error found, forcing abort, Line 1 Column 0
    cordialement

  16. #16
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    c'est lors de l’exécution? de la compilation?
    Dans ton exemple pourquoi essaie tu de parser le chemin d'un fichier??

    peut tu fournir un code d'exemple (en .zip), pour que l'on puisse tester?

  17. #17
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut
    Bonjour,

    En y mettant un fichier plutot qu'un chemin ça marche beaucoup mieux !!!

    voila ce que j'obtient :

    QVariant(QVariantMap, QMap(("feed", QVariant(QVariantMap, QMap(("count", QVariant(qulonglong, 10) ) ( "movie" , QVariant(QVariantList, (QVariant(QVariantMap, QMap(("castingShort", QVariant(QVariantMap, QMap(("actors", QVariant(QString, "Sam Worthington, Zoe Saldana, Sigourney Weaver, Stephen Lang, Michelle Rodriguez") ) ( "directors" , QVariant(QString, "James Cameron") ) ) ) ) ( "code" , QVariant(qulonglong, 61282) ) ( "link" , QVariant(QVariantList, (QVariant(QVariantMap, QMap(("href", QVariant(QString, "http://www.allocine.fr/film/fichefilm_gen_cfilm=61282.html") ) ( "rel" , QVariant(QString, "aco:web") ) ) ) ) ) ) ( "originalTitle" , QVariant(QString, "Avatar") ) ( "poster" , QVariant(QVariantMap, QMap(("href", QVariant(QString, "http://images.allocine.fr/medias/nmedia/18/78/95/70/19485155.jpg") ) ( "path" , QVariant(QString, "/medias/nmedia/18/78/95/70/19485155.jpg") ) ) ) ) ( "productionYear" , QVariant(qulonglong, 2009) ) ( "release" , QVariant(QVariantMap, QMap(("releaseDate", QVariant(QString, "2010-09-01") ) ) ) ) ( "statistics" , QVariant(QVariantMap, QMap(("pressRating", QVariant(double, 4.33333) ) ( "userRating" , QVariant(double, 4.31719) ) ) ) ) ( "title" , QVariant(QString, "Avatar") ) ) ) , QVariant(QVariantMap, QMap(("castingShort", QVariant(QVariantMap, QMap(("actors", QVariant(QString, "Genevieve O'Reilly, Luoyong Wang, Kay Siu Lim, David Warner, Joan Chen") ) ( "directors" , QVariant(QString, "Jian Hong Kuo") ) ) ) ) ( "code" , QVariant(qulonglong, 143950) ) ( "link" , QVariant(QVariantList, (QVariant(QVariantMap, QMap(("href", QVariant(QString, "http://www.allocine.fr/film/fichefilm_gen_cfilm=143950.html") ) ( "rel" , QVariant(QString, "aco:web") ) ) ) ) ) ) ( "originalTitle" , QVariant(QString, "Avatar") ) ( "productionYear" , QVariant(qulonglong, 2004) ) ( "statistics" , QVariant(QVariantMap, QMap(("userRating", QVariant(double, 3.9645) ) ) ) ) ) ) , QVariant(QVariantMap, QMap(("castingShort", QVariant(QVariantMap, QMap(("actors", QVariant(QString, "Ken Samuels, Alex Ligen, Cédric Brenner, Gaï Assouline, Thomas Guerigen") ) ( "directors" , QVariant(QString, "Ben Elia") ) ) ) ) ( "code" , QVariant(qulonglong, 46284) ) ( "link" , QVariant(QVariantList, (QVariant(QVariantMap, QMap(("href", QVariant(QString, "http://www.allocine.fr/film/fichefilm_gen_cfilm=46284.html") ) ( "rel" , QVariant(QString, "aco:web") ) ) ) ) ) ) ( "originalTitle" , QVariant(QString, "Avatars") ) ( "productionYear" , QVariant(qulonglong, 2001) ) ( "statistics" , QVariant(QVariantMap, QMap(("userRating", QVariant(double, 3.20588) ) ) ) ) ) ) , QVariant(QVariantMap, QMap(("castingShort", QVariant(QVariantMap, QMap(("directors", QVariant(QString, "James Cameron") ) ) ) ) ( "code" , QVariant(qulonglong, 187247) ) ( "link" , QVariant(QVariantList, (QVariant(QVariantMap, QMap(("href", QVariant(QString, "http://www.allocine.fr/film/fichefilm_gen_cfilm=187247.html") ) ( "rel" , QVariant(QString, "aco:web") ) ) ) ) ) ) ( "originalTitle" , QVariant(QString, "Avatar 3") ) ( "productionYear" , QVariant(qulonglong, 2016) ) ) ) , QVariant(QVariantMap, QMap(("castingShort", QVariant(QVariantMap, QMap(("actors", QVariant(QString, "Sam Worthington, Zoe Saldana, Sigourney Weaver") ) ( "directors" , QVariant(QString, "James Cameron") ) ) ) ) ( "code" , QVariant(qulonglong, 178014) ) ( "link" , QVariant(QVariantList, (QVariant(QVariantMap, QMap(("href", QVariant(QString, "http://www.allocine.fr/film/fichefilm_gen_cfilm=178014.html") ) ( "rel" , QVariant(QString, "aco:web") ) ) ) ) ) ) ( "originalTitle" , QVariant(QString, "Avatar 2") ) ( "productionYear" , QVariant(qulonglong, 2015) ) ) ) , QVariant(QVariantMap, QMap(("castingShort", QVariant(QVariantMap, QMap(("actors", QVariant(QString, "Cassie Fliegel, Jason Lockhart, Dylan Vox, Kim Argetsinger, Marlene Mc'Cohen") ) ( "directors" , QVariant(QString, "Lewis Schoenbrun") ) ) ) ) ( "code" , QVariant(qulonglong, 200194) ) ( "link" , QVariant(QVariantList, (QVariant(QVariantMap, QMap(("href", QVariant(QString, "http://www.allocine.fr/film/fichefilm_gen_cfilm=200194.html") ) ( "rel" , QVariant(QString, "aco:web") ) ) ) ) ) ) ( "originalTitle" , QVariant(QString, "Aliens vs. Avatars") ) ( "productionYear" , QVariant(qulonglong, 2011) ) ) ) , QVariant(QVariantMap, QMap(("castingShort", QVariant(QVariantMap, QMap(("actors", QVariant(QString, "Misty Stone, Chris Johnson, Chanel Preston") ) ( "directors" , QVariant(QString, "Axel Braun") ) ) ) ) ( "code" , QVariant(qulonglong, 209323) ) ( "link" , QVariant(QVariantList, (QVariant(QVariantMap, QMap(("href", QVariant(QString, "http://www.allocine.fr/film/fichefilm_gen_cfilm=209323.html") ) ( "rel" , QVariant(QString, "aco:web") ) ) ) ) ) ) ( "movieCertificate" , QVariant(QVariantMap, QMap(("certificate", QVariant(QVariantMap, QMap(("$", QVariant(QString, "Film classé X") ) ( "code" , QVariant(qulonglong, 14005) ) ) ) ) ) ) ) ( "originalTitle" , QVariant(QString, "This Ain't Avatar XXX") ) ( "poster" , QVariant(QVariantMap, QMap(("href", QVariant(QString, "http://images.allocine.fr/medias/nmedia/18/91/50/47/20148849.jpg") ) ( "path" , QVariant(QString, "/medias/nmedia/18/91/50/47/20148849.jpg") ) ) ) ) ( "productionYear" , QVariant(qulonglong, 2010) ) ) ) , QVariant(QVariantMap, QMap(("castingShort", QVariant(QVariantMap, QMap(("actors", QVariant(QString, "Bernadette Lafont") ) ( "directors" , QVariant(QString, "Jeanne Barbillon") ) ) ) ) ( "code" , QVariant(qulonglong, 7143) ) ( "link" , QVariant(QVariantList, (QVariant(QVariantMap, QMap(("href", QVariant(QString, "http://www.allocine.fr/film/fichefilm_gen_cfilm=7143.html") ) ( "rel" , QVariant(QString, "aco:web") ) ) ) ) ) ) ( "originalTitle" , QVariant(QString, "L'Avatar botanique de Melle Flora") ) ( "productionYear" , QVariant(qulonglong, 1965) ) ( "statistics" , QVariant(QVariantMap, QMap(("userRating", QVariant(double, 2.98387) ) ) ) ) ) ) , QVariant(QVariantMap, QMap(("castingShort", QVariant(QVariantMap, QMap(("actors", QVariant(QString, "Noah Ringer, Dev Patel, Nicola Peltz, Jackson Rathbone, Shaun Toub") ) ( "directors" , QVariant(QString, "M. Night Shyamalan") ) ) ) ) ( "code" , QVariant(qulonglong, 125433) ) ( "link" , QVariant(QVariantList, (QVariant(QVariantMap, QMap(("href", QVariant(QString, "http://www.allocine.fr/film/fichefilm_gen_cfilm=125433.html") ) ( "rel" , QVariant(QString, "aco:web") ) ) ) ) ) ) ( "movieCertificate" , QVariant(QVariantMap, QMap(("certificate", QVariant(QVariantMap, QMap(("$", QVariant(QString, "A partir de 10 ans") ) ( "code" , QVariant(qulonglong, 14031) ) ) ) ) ) ) ) ( "originalTitle" , QVariant(QString, "The Last Airbender") ) ( "poster" , QVariant(QVariantMap, QMap(("href", QVariant(QString, "http://images.allocine.fr/medias/nmedia/18/70/76/18/19444000.jpg") ) ( "path" , QVariant(QString, "/medias/nmedia/18/70/76/18/19444000.jpg") ) ) ) ) ( "productionYear" , QVariant(qulonglong, 2010) ) ( "release" , QVariant(QVariantMap, QMap(("releaseDate", QVariant(QString, "2010-07-28") ) ) ) ) ( "statistics" , QVariant(QVariantMap, QMap(("pressRating", QVariant(double, 1.875) ) ( "userRating" , QVariant(double, 2.41142) ) ) ) ) ( "title" , QVariant(QString, "Le Dernier maître de l'air") ) ) ) , QVariant(QVariantMap, QMap(("castingShort", QVariant(QVariantMap, QMap(("actors", QVariant(QString, "Albert Dupontel, Marie Guillard, Marthe Keller, Mélanie Thierry, Estelle Lefebure") ) ( "directors" , QVariant(QString, "Julien Leclercq") ) ) ) ) ( "code" , QVariant(qulonglong, 112201) ) ( "link" , QVariant(QVariantList, (QVariant(QVariantMap, QMap(("href", QVariant(QString, "http://www.allocine.fr/film/fichefilm_gen_cfilm=112201.html") ) ( "rel" , QVariant(QString, "aco:web") ) ) ) ) ) ) ( "movieCertificate" , QVariant(QVariantMap, QMap(("certificate", QVariant(QVariantMap, QMap(("$", QVariant(QString, "Interdit aux moins de 12 ans") ) ( "code" , QVariant(qulonglong, 14001) ) ) ) ) ) ) ) ( "originalTitle" , QVariant(QString, "Chrysalis") ) ( "poster" , QVariant(QVariantMap, QMap(("href", QVariant(QString, "http://images.allocine.fr/medias/nmedia/18/63/29/88/18805086.jpg") ) ( "path" , QVariant(QString, "/medias/nmedia/18/63/29/88/18805086.jpg") ) ) ) ) ( "productionYear" , QVariant(qulonglong, 2007) ) ( "release" , QVariant(QVariantMap, QMap(("releaseDate", QVariant(QString, "2007-10-31") ) ) ) ) ( "statistics" , QVariant(QVariantMap, QMap(("pressRating", QVariant(double, 2.07143) ) ( "userRating" , QVariant(double, 1.84001) ) ) ) ) ) ) ) ) ) ( "page" , QVariant(qulonglong, 1) ) ( "results" , QVariant(QVariantList, (QVariant(QVariantMap, QMap(("$", QVariant(qulonglong, 10) ) ( "type" , QVariant(QString, "movie") ) ) ) ) ) ) ( "totalResults" , QVariant(qulonglong, 10) ) ) ) ) ) )
    Mais je ne vois pas comment l'exploiter et je ne vois toujours pas comment extraire le "61282" de code, ou "Ken Samuels, Alex Ligen, Cédric Brenner, Gaï Assouline, Thomas Guerigen" de actors. ou enregistrer l'image de "http://images.allocine.fr/medias/nmedia/18/78/95/70/19485155.jpg" de poster ...

    Qui été mon post au depart.

    Avec la reponse de VivienD, je peux au moin recuperer le code et je pense qu'en manipulant bien une condition de depart et une boucle, je dois pouvoir recuperer un texte variable entre deux balises.

    je ne vois pas comment exploiter json pour en extraire mes donnees.

    le code :
    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
     
     
    #include "parser.h"
    ....
    MyAppDirPath =  QCoreApplication::applicationDirPath();
    filename = (MyAppDirPath + "/" + "search");
    QFile fichier(filename); // gestion de fichier
    fichier.open(QIODevice::ReadWrite | QIODevice::Text); // on ouvre le fichier
    QTextStream flux(&fichier);
    ui->importAlloCine->append(flux.readLine());
    QByteArray json = ui->importAlloCine->toPlainText().toUtf8(); //contient le contenue du fichier search
    QJson::Parser parser;
    bool ok;
    QVariant result = parser.parse (json, &ok);
    qDebug()<< result;
    mon fichier de test json en piece jointe

    Cordialement
    Fichiers attachés Fichiers attachés

  18. #18
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Un JSOn est comme un xml, il représente des informations structurées sous forme d'arbre. Il faut donc la structure de tes informations.
    QJson utilise les QVariant pour stocker cette architecture. Un QVariant est une sorte de void* typé.
    Voici un code qui t'affiche le titre et le code de chaque titre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     QJson::Parser parser;
        bool ok;
        QVariantMap result = parser.parse (&f, &ok).toMap();
        QVariantMap feed =  result["feed"].toMap();
        QVariantList movies = feed["movie"].toList();
        foreach(QVariant v, movies)
        {
            QVariantMap movie = v.toMap();
            qDebug()<<movie["originalTitle"].toString() << " => " << movie["code"].toString() ;
     
        }
    Je te laisse regarder la doc de QVariant pour plus de détail.
    Si tu as des questions, n'hésite pas.

    Tu peux bien sur le parser à la main. Mais tu va vite avoir des problèmes pour trouver les autres informations comme le titre, les acteurs,...
    QJson s’est déjà cassé les dents sur ce parsage. Autant en profiter

  19. #19
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut
    Tout simplement MEEEEERCI

    je peux même pas faire de synthese tout est dit

    Cordialement

  20. #20
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    grâce a toi j'ai découvert qu'il y as un film nommé Aliens vs. Avatars




+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Extraire une chaîne de caractères
    Par Lamouette66 dans le forum PL/SQL
    Réponses: 2
    Dernier message: 17/07/2012, 09h25
  2. Réponses: 4
    Dernier message: 27/08/2010, 04h57
  3. Tri d'une Chaine de Caractère selon un Critère
    Par compte dans le forum Langage
    Réponses: 10
    Dernier message: 24/01/2008, 15h57
  4. Extraire une chaîne de caractères d'une chaîne
    Par dj-julio dans le forum Excel
    Réponses: 13
    Dernier message: 21/09/2007, 11h05
  5. Réponses: 4
    Dernier message: 24/07/2006, 17h34

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