And*_*huk 2 formatting qt json string-formatting
我有一个JSON字符串
{
"FirstName": "John",
"LastName": "Doe",
"Age": 43,
"Address": {
"Street": "Downing Street 10",
"City": "London",
"Country": "Great Britain"
},
"Phone numbers": [
"+44 1234567",
"+44 2345678"
]
}
Run Code Online (Sandbox Code Playgroud)
在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);
Run Code Online (Sandbox Code Playgroud)
但是此代码仅适用于XML。有什么想法可以格式化JSON吗?
QJsonDocument的toJson函数采用了一种格式,使您可以指定紧凑格式或缩进格式。
假设您的JSON在名为jsonObj的QJsonObject中:
QJsonDocument doc(jsonObj);
QString jsonString = doc.toJson(QJsonDocument::Indented);
Run Code Online (Sandbox Code Playgroud)
或者,从QString:-
QJsonDocument doc = QJsonDocument::fromJson(jsonString.toUtf8());
QString formattedJsonString = doc.toJson(QJsonDocument::Indented);
Run Code Online (Sandbox Code Playgroud)