Я внедрил код, который будет принимать данные от QLineEdit
, и данные будут сохранены в формате json-файла.Порядок сортировки данных QJson
void MainWindow::fileWriteOperationJson()
{
QString filename = "C:/Users/.../Documents/Qt/save.json";
QFile saveFile(filename);
saveFile.open(QIODevice::WriteOnly|QIODevice::Text);
if (!saveFile.open(QIODevice::WriteOnly))
{
qWarning("Couldn't open save file.");
}
QJsonObject obj; //this is the root
QJsonArray personalData;
QJsonObject json;
json["name"] = ui->nameLineEdit->text();
json["address"] = ui->addressLineEdit->toPlainText();
personalData.append(json);
obj["personalData"] = personalData;
QTextStream out(&saveFile);
out << QJsonDocument(obj).toJson(QJsonDocument::Indented);
}
Проблема: Когда я открываю файл JSON, я хочу, чтобы найти мои данные в приведенной ниже форме:
"name" = xyz
"address" = xyz
Но я имею результат, как этот,
"address" = xyz
"name" = xyz
Как получить этот заказ?
Используйте другой формат. Порядок вещей в Json не важен; это имеет значение только структура. Qt выбирает, чтобы заказать их в алфавитном порядке, и я не верю, что есть какой-либо предоставленный API, чтобы изменить это. То же самое касается реализации Qt XML. – TheDarkKnight