利用jsoncpp将json字符串转换为Vector

本文介绍如何在C++中将JSON格式的字符串转换成Vector。通过使用Json::Reader解析JSON字符串,并遍历解析后的对象,填充自定义结构体到Vector中,实现了复杂类型的转换。
<p>在API测试过程中经常会遇到传入参数为复杂类型,一般情况下在python下,习惯用字典来表示复杂类型。但是c++对字符串的处理是比较弱智的,一般c++里边会用vector来存储复杂类型,那么就存在转换的问题,下面小段代码记录了将字符串转换为Vector的过程</p>
<p>待转换的字符串如下:</p>
<p>const char * jsongroupinfo="[{/"groupId/" :946838524,/"groupname/" :/"bababa/", /"mask/":1,/"parentid/":946755072}]";</p>
<p></p>
<p> Json::Reader reader;<br>
Json::Value json_object;<br>
if (!reader.parse(jsongroupinfo, json_object))<br>
return "parse jsonstr error";<br>
SUserChggroup sucg;<br>
VECTOR< SUserChggroup > m_groupInfo;<br>
for(int i = 0; i < json_object.size(); i ++)<br>
{<br>
Json::Value &current = json_object[i];<br>
sucg.m_groupId = current["groupId"].asInt();<br>
sucg.m_groupName = current["groupname"].asString();<br>
sucg.m_mask = current["mask"].asInt();<br>
sucg.m_parentId = current["parentid"].asInt();<br>
m_groupInfo.push_back(sucg);<br>
}</p>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值