liubayern 2023-01-31 20:35 采纳率: 33.3%
浏览 48

Qt数组写入JSON文件不换行

在使用Qt 5.12版本进行开发过程中,需要将数据写入json文件,用的是QJsonObject和相关类;
我需要写入一个数组,用下面代码举例:

QJsonArray array = {5,88};
QJsonObject jsonObject;
jsonObject.insert("name", "tom");
jsonObject.insert("age", array);

运行之后倒是成功写入了JSON文件,不过不是我想要的格式,其格式如下:
{
"age": [
5,
88
],
"name": "tom",
}
上述JSON程序在我程序中运行报错,但如果我手动稍微调整一下格式为:
{
"age": [5,88],
"name": "tom",
}
程序就可以运行。由于这只是程序中的一小部分,其余不好修改,如果只考虑修改这部分代码,如何做到在写入的时候将JSON格式变为我需要的格式呢?

  • 写回答

4条回答 默认 最新

  • m0_54204465 2023-01-31 20:54
    关注

    可以尝试使用QJsonDocument的toJson函数自定义格式化写入:

    QJsonArray array = {5,88};
    QJsonObject jsonObject;
    jsonObject.insert("name", "tom");
    jsonObject.insert("age", array);
    QJsonDocument doc(jsonObject);
    QByteArray data = doc.toJson(QJsonDocument::Indented);
    
    

    将data写入文件即可。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月31日

悬赏问题

  • ¥30 arduino vector defined in discarded section `.text' of wiring.c.o (symbol from plugin)
  • ¥20 关于#c++#的问题:(2)运算二叉树·表达式一般由一个运算符和两个操作数组成:(相关搜索:二叉树遍历)
  • ¥20 如何训练大模型在复杂因素组成的系统中求得最优解
  • ¥15 关于#r语言#的问题:在进行倾向性评分匹配时,使用“match it"包提示”错误于eval(family$initialize): y值必需满足0 <= y <= 1“请问在进行PSM时
  • ¥45 求17位带符号原码乘法器verilog代码
  • ¥20 PySide6扩展QLable实现Word一样的图片裁剪框
  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)