我有这个 Json 文件:
{
"place": {
"id": "99"
},
"camera": {
"id": "99",
"url": "http://192.168.0.250/stuff.php?",
}
}
我得到的是在一行中打印的所有内容,每个字段后打印字符\n,而不是文件中的内容。这发生在我的 Ubuntu 机器上,但不会发生在另一台装有 Debian 的机器上。 我想要逐行打印文件内容。有什么提示吗? 我使用这段代码来打印 Json 文件的内容:
QString val;
QFile file;
file.setFileName("../config.json");
file.open(QIODevice::ReadOnly | QIODevice::Text);
val = file.readAll();
file.close();
qWarning() << val;
编辑
尝试了用户 TheDarkKnight 提供的两种解决方案,但没有成功,我还在终端中使用 cat
命令进行了尝试,文件打印正确,所以我怀疑这不是操作系统的问题,而是涉及 Qt ..
最佳答案
似乎 qWarning()
函数转义了不可打印的字符并在末尾添加换行符,所以解决方案是使用:
qWarning().noquote()
https://stackoverflow.com/a/39561345/4267439
然而,这发生在 Qt 5.4 中,它改变了 qWarning 行为,所以我的最终解决方案是这个预处理器指令:
#if (QT_VERSION > QT_VERSION_CHECK(5, 4, 0))
qWarning().noquote() << val;
#else
qWarning() << val;
#endif
关于json - 在QT中打印没有换行符的json文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39466825/