首页 > 解决方案 > 如何将 JSON 保存到 QT 中的本地文本文件?

问题描述

jsonlist.push(Object.assign(process1_json,process2_json,process3_json,process4_json,process5_json, process6_json))

var j = JSON.stringify(jsonlist);

项目结构

我可以console.log用来获取 JSON 输出,但我想生成一个本地 JSON 文件。

似乎 JavaScript 无法直接读取/写入本地文件,所以如果我必须将 JSON 转换为 QJson,然后获取本地 JSON 文件?

标签: javascriptqtqmlqfile

解决方案


您可以通过将 JSON 转换为QJsonObjectC++ 中的 a 来做到这一点,然后使用该函数保存它:

bool writeJson(const QString &fileName, const QJsonObject &object)
{
   //open file
   QFile file(fileName);
   if(!file.open(QIODevice::WriteOnly | QIODevice::Text)){
       qDebug() << QString("Fail to open the file:"+fileName);
       return false;
   }

   //convert to document
   QJsonDocument d = QJsonDocument(object);
   //write and close
   file.write(d.toJson());
   file.close();
   return true;
}

推荐阅读