我有一个 JSON 字符串
{
"FirstName": "John",
"LastName": "Doe",
"Age": 43,
"Address": {
"Street": "Downing Street 10",
"City": "London",
"Country": "Great Britain"
},
"Phone numbers": [
"+44 1234567",
"+44 2345678"
]
}
在 QString 变量中。
我发现(在 Stackoverflow 的某处)一种格式化 XML 的方法:
QString responseData = "";
responseData = networkResponse->readAll();
QString formattedXMLResponse;
QDomDocument input;
input.setContent(responseData);
QDomDocument output(input);
QTextStream stream(&formattedXMLResponse);
output.save(stream, 2);
ui->outputTB->setPlainText(formattedXMLResponse);
但此代码仅适用于 XML。
有什么想法可以格式化 JSON 吗?
最佳答案
QJsonDocument采用格式为其 toJson函数,允许您指定 compact or indented format .
假设您在名为 jsonObj 的 QJsonObject 中有您的 JSON:-
QJsonDocument doc(jsonObj);
QString jsonString = doc.toJson(QJsonDocument::Indented);
或者,从 QString:-
QJsonDocument doc = QJsonDocument::fromJson(jsonString.toUtf8());
QString formattedJsonString = doc.toJson(QJsonDocument::Indented);
关于json - 如何在 QT 中将 JSON 字符串格式化为可读输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25977752/