2017-01-13 4 views
0

Ich möchte wie meine Daten im JSON-Datei speichern:Wie erstelle ich JSON-Array mit QT

{ 
    "plottingData": [ 
     { 
      "min": 17, 
      "max": 35, 
      "mean": 20 

     }, 
     { 
      "min": 7, 
      "max": 35, 
      "mean": 17 
     }, 
     { 
      "min": 8, 
      "max": 50, 
      "mean": 29 
     } 

    ] 
} 

Wie kann ich diese Struktur erstellen? Ich verwendete QJsonObject, aber ich konnte QJsonArray nicht so hinzufügen.

Antwort

0

Von Qt Dokumentation:

QJsonArray plot_array; 

// use initializer list to construct QJsonObject 
auto data1 = QJsonObject(
{ 
qMakePair(QString("min"), QJsonValue(17)), 
qMakePair(QString("max"), QJsonValue(35)), 
qMakePair(QString("mean"), QJsonValue(20)) 
}); 

plot_array.push_back(QJsonValue(data1)); 

// Or use insert method to create your QJsonObject 
QString min_str("min"); 
QString max_str("max"); 
QString mean_str("mean"); 
for(auto item : your_collection) 
{ 
    QJsonObject item_data; 

    item_data.insert(min_str, QJsonValue(item.min)); 
    item_data.insert(max_str, QJsonValue(item.max)); 
    item_data.insert(mean_str, QJsonValue(item.mean)); 

    plot_array.push_back(QJsonValue(item_data)); 
} 

QJsonObject final_object; 

final_object.insert(QString("plottingData"), QJsonValue(plot_array)); 
+0

Danke für die Antwort, aber ich habe vielleicht 600 Daten? Gibt es irgendeine Methode dafür wie addData (int min, int max, int mean) {..}? –

+0

@ HafsaElifElalmış Siehe meine Bearbeitung. Beachten Sie, dass ich es nicht in einem Compiler zum Testen schreibe, so dass es möglicherweise Probleme gibt. aber grundlegende Verwendung ist so. Sie können auch QT-Dokumente für 'QJsonObject',' QJsonArray' und 'QJsonValue' lesen, um weitere Informationen und deren Verwendung zu erhalten. – MRB

+0

danke für deine interset. –