"status": {
"code": "成功/错误代码",
"msg": "错误信息"
},
"data": {
"timeStampNum": "当前服务器时间,格式YYYYMMDDHHMMSS",
"trafficAddress": "实时交通URL"
"isHasTraffic": "实时交通可用状态,1为可用,0为不可用"
"terminalVer":"终端版本号"
"deviceStatus":"设备可用状态,1为可用,0为不可用"
"trafficVer":"实时交通版本,用于校验是否需要更新实时交通URL"
}
上面这个是我以前项目中使用过的json字符串格式。现在我们试着使用jsoncpp来解析他,来获得当前的deviceStatus是否可用。
先来看一段示例代码
int CJSONParser::DeviceStatus( const char* pData )
{
if(pData == NULL || strlen(pData) <= 0)
{
return 0;
}
//创建reader实例,用来读取json字符串
Json::Reader reader;
Json::Value root;
bool bRead = reader.parse(pData,root);
if (!bRead)
{
return 0;
}
//value就是第一层大括号里面的数据
Json::Value vData = root["data"];
int nDeviceStatus = vData["deviceStatus"].asInt();
return nDeviceStatus;
}
这样,我们想要的deviceStatus的值,就可以读取到了。
读者可以自己创建一个工程试试读取一些json字符串的内容,这样就会更加熟悉jsoncpp的用法了。
版权声明:本文为altairdipper原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。