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;
}
}
}
} }
}
}

最新文章

  1. UnitOfWork以及其在ABP中的应用
  2. AngularJS基础知识1
  3. (转)SpringSecurity扩展User类,获取Session
  4. string字符串类型
  5. Hibernate常见错误整理
  6. 《Apache数据传输加密、证书的制作》——涉及HTTPS协议
  7. Solr4.4的安装与配置
  8. JS严格模式和非严格模式的区别
  9. DotNetCore跨平台~一起聊聊Microsoft.Extensions.DependencyInjection
  10. BZOJ 5281--[Usaco2018 Open]Talent Show(分数规划&amp;单调队列&amp;DP)
  11. EFCore.MySql当模型遇到int[]怎么办
  12. #C++初学记录(算法2)
  13. Nginx+Tomcat+Memcache实现负载均衡及Session共享
  14. SpringCloud Config Bus webhook 只能刷新config server 不能刷新config client
  15. git 命令摘录
  16. 阿里云服务器部署笔记二(python3、Flask、uWSGI、Nginx)
  17. c语言加密算法头文件下载(base64、md5、sha1)
  18. LeetCode OJ:Three Sum(三数之和)
  19. bzoj 1066 最大流
  20. HDU - 2709 Sumsets 【递推】

热门文章

  1. NLP文本清理时常用的python小函数
  2. Oracle对象-视图和索引
  3. C# U盘扫描
  4. 从cbv到fbv:用函数写视图与用类写视图的区别(drf与restful)
  5. mybatis的BLOB存储与读取
  6. Unity上线google商店 用IL2Cpp打包64位版本和Android APP Bundle优化 及产生的bug
  7. 设计模式风格&lt;二&gt;;消息总线
  8. 巧妙记忆 ++i 和 i++ 的区别
  9. 初学java2 认识面向对象 以及运算符 输入输出
  10. js的一些兼容融性问题