首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rapidjson :使用rapidjson从JsonObject中提取参数

rapidjson :使用rapidjson从JsonObject中提取参数
EN

Stack Overflow用户
提问于 2014-01-04 21:28:20
回答 1查看 1K关注 0票数 2

我有一个看起来像jsonObject的

代码语言:javascript
复制
{"Types":[{"Mtype":"text/plain","time":"Thus:24:32:02"},{"MtypeSec":"text/plain","time":"Thus:24:32:02"}]}

我想知道怎样才能提取类型和时间?Types是jsonArray吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-04 21:59:52

看起来Types是一个数组,但是数组是Object的一个子类,所以IsObject()返回true。您应该对其调用IsArray(),以查看它是否为数组。

正确的语法将是document["Types"][0]["Mtype"].GetString(),或者您可以使用以下方法迭代它:

代码语言:javascript
复制
for (SizeType i = 0; i < document["Types"].Size(); i++){
    std::string strval;
    if(document["Types"][i].hasMember("Mtype")){
        strval = document["Types"][i]["Mtype"].GetString();
    } else if(document["Types"][i].hasMember("mtypeSec")){
        strval = document["Types"][i]["mtypeSec"].GetString();
    } else if(document["Types"][i].hasMember("time")){
        strval = document["Types"][i]["time"].GetString();
    } else if(/*other member test*/){
        //do something with other member
    } else {
        //base case, member not in the list of useful members
    }
    //do something useful with strval
    ....
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20926975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档