qstring 怎样以json 格式化打印 定义为人类可读格式打印
时间: 2024-03-01 12:53:41 浏览: 13
可以使用 `QJsonDocument` 类将 `QString` 转换为可读的 JSON 格式,然后使用 `QTextStream` 将其打印出来,代码如下:
```c++
#include <QJsonDocument>
#include <QTextStream>
QString jsonString = "{\"name\": \"John\", \"age\": 30}";
QJsonDocument jsonDocument = QJsonDocument::fromJson(jsonString.toUtf8());
QString prettyJsonString = QString::fromUtf8(jsonDocument.toJson(QJsonDocument::Indented));
QTextStream out(stdout);
out << prettyJsonString << endl;
```
这里我们首先定义一个包含 JSON 字符串的 `QString` 对象 `jsonString`,然后使用 `QJsonDocument` 将其转换为可读的 JSON 格式,存储在 `jsonDocument` 对象中。接着,我们使用 `toJson` 函数将 `jsonDocument` 转换为字符串形式,并且通过指定 `QJsonDocument::Indented` 参数,使其以可读的格式输出。最后,我们使用 `QTextStream` 把结果打印到标准输出流 `stdout` 上。
注意:在使用 `QJsonDocument` 进行 JSON 解析时,需要先将 `QString` 转换为 `QByteArray`,因为 `QJsonDocument` 只能接受 `QByteArray` 对象作为输入。