gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 01:38:24 26 4
gpt4 key购买 nike

我是 Json 的新手。我正在使用 codeplex (casablanca) 来读取 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;
} }

如何在等级上获得值(value)??当我访问标记时,它是对象类型,我不知道如何从那里访问成绩。请回复。

最佳答案

Marks 仍然是一个 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();

关于c++ - 如何在 C++ 中使用 casablanca 获取 JSON 对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32867468/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com