首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jsoncpp Json::LogicError,当我尝试解析对象时

jsoncpp Json::LogicError,当我尝试解析对象时
EN

Stack Overflow用户
提问于 2016-03-04 18:07:12
回答 1查看 3.4K关注 0票数 1

我有一个Json字符串,如下所示,我需要用C++的jsoncpp库来解析它们;然而,即使我试图解析最简单的键status_code,我也会得到逻辑错误。我解析json的代码是这样的:

代码语言:javascript
运行
复制
Json::Value root = js;

const Json::Value status_code = root["status_code"];

其中js是std::字符串。我打印了根目录,结果看起来很正常,但第二行代码总是出错。此外,我尝试了Json::Value::get方法,但没有任何变化。

代码语言:javascript
运行
复制
{
  "status_code": "OK",
  "status_msg": "All images in request have completed successfully. ",
  "meta": {
    "tag": {
      "timestamp": 1457008532.462851,
      "model": "general-v1.3",
      "config": "34fb1111b4d5f67cf1b8665ebc603704"
    }
  },
  "results": [
    {
      "docid": 161641131401527616156105737996754786562,
      "status_code": "OK",
      "status_msg": "OK",
      "local_id": "",
      "result": {
        "tag": {
          "concept_ids": [
            "ai_786Zr311",
            "ai_pPxqdnP5",
            "ai_Pf2b7clG",
            "ai_c9n7SB25",
            "ai_WTrlNkqM",
            "ai_ggQlMG6W",
            "ai_62K34TR4",
            "ai_hf5ZBGcK",
            "ai_9c0Hmcx0",
            "ai_6lhccv44",
            "ai_pCnxWJZh",
            "ai_bmls4LpL",
            "ai_TkWkj1sX",
            "ai_rsX6XWc2",
            "ai_x3vjxJsW",
            "ai_4Qjv5PTH",
            "ai_lrTHSPdB",
            "ai_bBXFkGB1",
            "ai_xxnGcd42",
            "ai_PpTcwbdQ"
          ],
          "classes": [
            "no person",
            "room",
            "indoors",
            "furniture",
            "vehicle",
            "industry",
            "technology",
            "production",
            "exhibition",
            "business",
            "contemporary",
            "group",
            "container",
            "building",
            "home",
            "modern",
            "action",
            "auto racing",
            "seat",
            "computer"
          ],
          "probs": [
            0.9784166812896729,
            0.9754077196121216,
            0.974927544593811,
            0.9747141003608704,
            0.9636767506599426,
            0.954016923904419,
            0.9406172633171082,
            0.9292353391647339,
            0.9243901968002319,
            0.911110520362854,
            0.8961678147315979,
            0.8841571807861328,
            0.8797860145568848,
            0.8792335987091064,
            0.869953989982605,
            0.8654355406761169,
            0.8574825525283813,
            0.8546661734580994,
            0.8530611991882324,
            0.8511127829551697
          ]
        }
      },
      "docid_str": "799af313d0500ce2648b9a4e20c49902"
    }
  ]
}
EN

回答 1

Stack Overflow用户

发布于 2016-03-04 19:43:06

我通过使用Json::Reader解决了自己的问题。我发布代码是为了帮助其他面临这个问题的人。

我正在使用下面的代码片段获取"classes“标记:

代码语言:javascript
运行
复制
Json::Value root;

Json::Reader reader;

reader.parse(js,root);

const Json::Value classes = root["results"][0]["result"]["tag"]["classes"];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35793178

复制
相关文章

相似问题

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