已知接收到QByteArray类型数据 b 打印出来为
{“xxx_name”:“xxx-000”}{“aaa”:“1111111111”,“bbb”:true}
实际需要获取解析使用的数据是
{“aaa”:“1111111111”,“bbb”:true}
简写
auto removeData = QString("{\"pgv_name\":\"%1\"}").arg(deviceName);
auto dataMap = QJsonDocument::fromJson(jsonData.toByteArray().mid(removeData.size())).object().toVariantMap();
分步骤
//接收到的数据 {"xxx_name":"xxx-000"}{"aaa":"1111111111","bbb":true}
QByteArray b = jsonData.toByteArray();
//要剔除掉的数据 {"xxx_name":"xxx-000"}
QString aName = "xxx-000";
auto removeData = QString("{\"xxx_name\":\"%1\"}").arg(aName);
//得到目标需解析数据 {"aaa":"1111111111","bbb":true}
QByteArray bData = b.mid(pgvReqData.size());
//QByteArray转为json
auto json = QJsonDocument::fromJson(bData)).object()
//json转为QVariantMap
auto dataMap = json.toVariantMap();
可以对dataMap 进行解析使用了。
拓展:Qt 常用类型间的相互转换 待更新总结