Brut de fonderie !
Installation de QJson
Il va falloir vous débrouiller tout seul, d’ici que j’ai le temps de compléter cet article ! En attendant :
Parsage de données JSON
A partir d’une chaîne de caractères
// -- Parse JSON data QJson::Parser parser; bool isParsed = false; QVariantMap jsonData = parser.parse("{\"param1\": \"value1\", \"param2\": \"value2\"}", &isParsed).toMap(); file->close(); if (!isParsed) { qDebug()<<"Erreur durant le parsage."; return; } qDebug()<<"Données JSON :"; QMapIterator<QString, QVariant> i(jsonData); while (i.hasNext()) { i.next(); qDebug()<<i.key()<<i.value().toString(); }
A partir d’un fichier
// -- Get configuration file data (JSON formated) QFile *file = new QFile("<mon fichier contenant du JSON>"); // Open the file (read only) if (!file->open(QIODevice::ReadOnly | QIODevice::Text)) { qDebug() <<"Fichier de configuration introuvable."; return; } // /!\ Ne pas faire de "read" sur "file" sinon le parseur ne lira pas tout le fichier. // -- Parse JSON data QJson::Parser parser; bool isParsed = false; QVariantMap jsonData = parser.parse(file, &isParsed).toMap(); file->close(); if (!isParsed) { qDebug()<<"Erreur durant le parsage."; return; } qDebug()<<"Fichier JSON:"; QMapIterator<QString, QVariant> i(jsonData); while (i.hasNext()) { i.next(); qDebug()<<i.key()<<i.value().toString(); }
Il manque pas mal de choses dans tout ça, j’ai amélioré mes bouts de code depuis le temps, mais au moins ça fait un peu plus d’information en français sur le sujet.