1、JSON格式转换成QString:
QJsonObject obj({{"command", "0xF1"}, {"name", "xili"}, {"addr", "11:22:33:44"}});
QString device_info = QString(QJsonDocument(obj).toJson());
2、QString转换成json格式:
void test(QString arr)
{
QJsonDocument jsonDocument = QJsonDocument::fromJson(arr.toLatin1());
if(jsonDocument.isObject())
{
QJsonObject jsonObject = jsonDocument.object();
getObject(jsonObject );
}
}
3、解析json格式数据:
解析json数据中timeout字段,且约定该字段为int型
void getObject(QJsonObject &jsonObject)
{
if(jsonObject.contains("timeout"))
{
QJsonValue value = jsonObject.take("timeout");
int timeout = value.toInt();
......
}
}
先使用contains方法判断是否包含timeout字段,再使用take方法获取该字段的值;