jsoncpp用法(判断void* pData是否为json格式的字符串)
来源:互联网 发布:ros通过ip绑定mac地址 编辑:程序博客网 时间:2024/06/08 10:23
JsonCpp是我本人非常喜欢的一个Json解析库,有读写模块,实现具有很强的移植性,当时在公司项目中嵌入JsonCpp时,仅仅通过修改了一个读文件的接口就完美的集成了进去,无论是在Windows平台还是在IPhone平台上都运行良好,当时我还当心在IPhone上会碰到什么问题,但是结果是没有碰到任何问题。。。。。。。。。对此,我印象非常深刻。JsonCpp中带有完整的测试套件,对于这样一个底层库,有测试套件存在,让人使用的时候心里放心很多。另外,JsonCpp使用C++的Map特性,(得益于Json语法的简单)可以非常方便的查找需要的任何Json数据,并且效率不低,当然,因为JsonCpp使用了一种DOM方式解析Json文档(参考XML的描述),一次将全部文档都解析了以后,然后再查询使用,使用虽然方便,但是效率上还是逊于SAX方式,但是,对于小规模应用,这应该不是问题。jsoncpp的文件比较少,其实全部拷贝进自己的工程都完全没有问题。jsoncpp的协议是公有领域,也就是说作者完全放弃了版权,你可以随便使用,连版权协议都不用带。需要include的头文件就是json.h,但是需要将include/json下的头文件都拷贝到需要的地方。例子中我为了方便还是用了静态库,将json附带的VS工程的Runtime library改成Multi-threaded Debug DLL (/MDd),(个人习惯使用dll方式进行开发,这个需要和正在进行的工程一致)编译后,生成静态库。
bool CServerSocketItem::SendData(void * pData, WORD wDataSize, WORD wMainCmdID, WORD wSubCmdID, WORD wRountID)
{
char* resulData = new char[wDataSize + 1];
memcpy(resulData, pData, wDataSize);
resulData[wDataSize] = '\0';
std::string stResult = resulData;
Json::Reader readerJson;
Json::Value valueJson;
if (readerJson.parse(stResult, valueJson))
{
//true 验证通过,可发送
}
else{
return false; //验证失败,不发送,返回
}
}
源码:http://download.csdn.net/detail/chuanyu/8841071
- jsoncpp用法(判断void* pData是否为json格式的字符串)
- python点滴:判断字符串是否为合法json格式
- 判断是否为json格式数据
- 判断字符串是否是json格式
- 判断字符串是否为格式正确的数字的方法
- js中判断字符串是否为合法的email格式
- js中判断字符串是否为合法的email格式
- js中判断字符串是否为合法的email格式
- 判断字符串emailAddr是否为合法的email格式
- Python判断变量为符合Json格式的字符串
- 判断字符串是否为Guid格式(C#)
- C#判断字符串是否为日期格式
- 判断字符串是否为日期格式
- 如何判断字符串是否为GUID格式
- java判断字符串是否为日期格式
- JS判断字符串是否为json数据
- java判断一个字符串是否为需要的格式日期格式
- void *pdata的理解分析
- 使用类似linux系统滴答时钟解决定时器不足的问题
- UIView及其子类围绕任意点旋转的方法
- 什么是敏捷软件测试
- CocoaPods 版本管理冲突 解决
- 关于json操作
- jsoncpp用法(判断void* pData是否为json格式的字符串)
- Java基础语法易犯错误(1)
- 电脑全盘搜索软件 Everything 强烈推荐
- 系统cell分割线长度
- Android视图自定义View绘制流程完全解析,带你一步步深入了解View(二)
- poj2686
- HTML 标签 <title>
- linux环境Android源码编译环境搭建
- iOS开发-文件管理