Qt 解释JSon数据
2024-08-28 08:40:27
jsondata={"cmd":"meetingmemberlist","memberinfos":[{"name":"李","number":"668162","status":"Offline"},{"name":"66668888","status":"Offline"},{"name":"1.221","number":"1234561","status":"Offline"},{"name":"1.42","status":"Offline"}],"session":"2989479764ll","touid":"19","xns":"18"}
void CEMViewMenuInteraction::get_memberdata_from_jsondate(std::string jsondata)
{
QByteArray ByteArr = QByteArray(jsondata.c_str());
//判断字符串转化为 QJsonDocument 是否出现了错误
QJsonParseError jsonError;//Qt5新类
QJsonDocument jsonDoc = QJsonDocument::fromJson(ByteArr, &jsonError);//Qt5新类
if (jsonError.error == QJsonParseError::NoError)
{
// qDebug()<< "parse jsondata";
if (jsonDoc.isObject())
{
QJsonObject rootObj = jsonDoc.object();
QString cmd;
QString session;
//是否含有key cmd
if (rootObj.contains("cmd"))
{
//取出key为rootpath的值
QJsonValue value = rootObj.value("cmd");
//判断是否是string类型
if (value.isString())
{
cmd = value.toString();
// qDebug()<< "cmd=" <<cmd;
}
}
if (rootObj.contains("session"))
{
//取出key为 session 的值
QJsonValue value = rootObj.value("session");
//判断是否是string类型
if (value.isString())
{
session = value.toString();
// qDebug()<< "session=" << session;
}
}
if (rootObj.contains("memberinfos"))
{
QJsonValue valueArray = rootObj.value("memberinfos");
//判断类型是否为array,并且将array遍历出来
if (valueArray.isArray())
{
QJsonArray jsonArray = valueArray.toArray();
QString child_name = "null";
QString child_status = "null";
for (int i = ; i < jsonArray.count();i++)
{
QJsonValue childValue = jsonArray[i];
if (childValue.isObject())
{
QJsonObject childObject = childValue.toObject();
if (childObject.contains("name"))
{
QJsonValue valueJson = childObject.value("name");
if (valueJson.isString())
{
child_name = valueJson.toString();
// qDebug()<< "name=" <<child_name;
}
}
if (childObject.contains("status"))
{
QJsonValue valueJson = childObject.value("status");
if (valueJson.isString())
{
child_status = valueJson.toString();
// qDebug()<< "status=" <<child_status;
}
}
m_MemberListMap[child_name] = child_status;
}
}
}
} }
}
}
最新文章
- UnitOfWork以及其在ABP中的应用
- AngularJS基础知识1
- (转)SpringSecurity扩展User类,获取Session
- string字符串类型
- Hibernate常见错误整理
- 《Apache数据传输加密、证书的制作》——涉及HTTPS协议
- Solr4.4的安装与配置
- JS严格模式和非严格模式的区别
- DotNetCore跨平台~一起聊聊Microsoft.Extensions.DependencyInjection
- BZOJ 5281--[Usaco2018 Open]Talent Show(分数规划&;单调队列&;DP)
- EFCore.MySql当模型遇到int[]怎么办
- #C++初学记录(算法2)
- Nginx+Tomcat+Memcache实现负载均衡及Session共享
- SpringCloud Config Bus webhook 只能刷新config server 不能刷新config client
- git 命令摘录
- 阿里云服务器部署笔记二(python3、Flask、uWSGI、Nginx)
- c语言加密算法头文件下载(base64、md5、sha1)
- LeetCode OJ:Three Sum(三数之和)
- bzoj 1066 最大流
- HDU - 2709 Sumsets 【递推】