rapidjson简单封装

rapidjson是腾讯开源的解析json的高效c++库,这里做个简单的封装,除去每次解析时都要先判断结点是否存在再读取的麻烦

github地址

因为是封装,所以依赖rapidjson,请自行下载rapidjson源码,使用示例如下

const char *JSON = "{" ""double":100.11," ""int":200," ""str":"Hello World"," ""bool":false" "}";

rapidjson::Document d;

d.Parse(JSON);

if (d.HasParseError()) { printf( "parse error!\n" ); return -1; }

uint32_t uvalue;

assert(!Wrapidjson::GetUint(d, "uintvalue", &uvalue));

assert(Wrapidjson::HasDouble(d, "double"));

double dvalue;

assert(Wrapidjson::GetDouble(d, "double", &dvalue));

assert(dvalue == 100.11);

assert(!Wrapidjson::HasDouble(d, "int"));

int ivalue;

assert(Wrapidjson::GetInt(d, "int", &ivalue));

assert(ivalue == 200);

bool bvalue;

assert(Wrapidjson::GetBool(d, "bool", &bvalue));

assert(bvalue == false);

std::string svalue;

assert(Wrapidjson::GetString(d, "str", &svalue));

assert(svalue == std::string("Hello World"));

作者:帅得不敢出门

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值