You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用nlohmann JSON解析器查找result键失败求助

问题原因与解决方法

你的代码输出'result' not found的核心原因是JSON字符串包含不符合标准语法的尾逗号:

  • 数组lines内的两个对象中,"w":7,和"w":8,末尾的逗号属于多余的尾逗号
  • 标准JSON语法禁止在对象/数组的最后一个元素后添加逗号,而nlohmann/json默认采用严格解析模式,遇到这类非法JSON时会解析失败,导致root并未正确加载目标JSON结构,因此find("result")无法找到对应字段。

修复方案

方案1:修正JSON字符串(推荐)

去掉所有多余的尾逗号,符合标准JSON语法:

{
   "result":{
      "lines":[
         {
            "i":1,
            "w":7
         },
         {
            "i":1,
            "w":8
         }
      ]
   },
   "success":true
}

方案2:启用非严格解析模式

如果需要兼容这类带尾逗号的JSON,可以在解析时开启非严格模式:

json root = json::parse(str, nullptr, true);

第三个参数设为true,允许解析包含尾逗号、注释等非标准内容的JSON。

内容的提问来源于stack exchange,提问作者canellas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 07:25:23