C++ 如何在C+中使用casablanca获取JSON对象值+;

C++ 如何在C+中使用casablanca获取JSON对象值+;,c++,json,casablanca,C++,Json,Casablanca,我是Json新手。我使用codeplex(卡萨布兰卡)读取json值 下面是示例json字符串: [{ "rollno": 2000, "name": "suhani","marks":{"grade":"C"} }, {"rollno": 3000,"name": "ishu", "marks":{ "grade":"A"} }] 访问name&rollno的代码,我正在编写以下代码: json::value jobj = json::value::parse(utility::con

我是Json新手。我使用codeplex(卡萨布兰卡)读取json值

下面是示例json字符串:

[{ "rollno": 2000,
"name": "suhani","marks":{"grade":"C"}  },  {"rollno": 3000,"name": "ishu", "marks":{ "grade":"A"}  }]
访问name&rollno的代码,我正在编写以下代码:

json::value jobj = json::value::parse(utility::conversions::to_string_t(resultbody));

for (unsigned int i = 0; i < jobj.size(); i++) {
    auto getval = jobj[i];

    if (getval.at(U("name")).is_string()) {
    auto xstr = getval.at(U("name")).as_string();
    std::string wide = utility::conversions::to_utf8string(xstr);
    std::string str(wide.begin(), wide.end());
    string name = str;
}

if (getval.at(U("rollno")).is_integer()) {
    auto xstr = getval.at(U("rollno")).as_integer();
    int rollno = xstr;
} }
json::value jobj=json::value::parse(实用工具::转换::to_string_t(结果体));
for(无符号整数i=0;i

如何在等级中获得价值??当我访问标记时,它是object类型,我不知道如何从那里访问grade。请回答。

标记仍然是json对象。您需要访问grade属性。从代码段中添加以下内容:

    for (unsigned int i = 0; i < jobj.size(); i++) {
        auto getval = jobj[i];
        auto marks_object = getval.at(U("marks"));
        auto grade_value = marks_object.at(U("grade")).as_string();
for(无符号整数i=0;i
也可能使您的工作更轻松