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

使用nlohmann json向指定JSON数组插入对象失败,求排查解决

JSON数组插入对象代码修复

问题背景

现有JSON内容:

{
  "vis.DataSet": [],
  "backup": []
}

需要向vis.DataSet对应的数组中插入两个对象{"a":1,"b":2,"c":3}和{"a":4,"b":5},最终期望得到的JSON结构如下:

{
  "vis.DataSet": [
    {
      "a" : 1,
      "b" : 2,
      "c" : 3
    },
    {
      "a" : 4,
      "b" : 5
    }
  ],
  "backup": []
}

错误代码

json srcJson = R"({
  "vis.DataSet": [],
  "backup": []
})"_json;

json objJson1 = R"({
  "a" : 1,
  "b" : 2,
  "c" : 3
})"_json;

json bojJson2 = R"({
  "a" : 4,
  "b" : 5
})"_json;

srcJson["vis.DataSet"].push_back[objJson1];
srcJson["vis.DataSet"].push_back[objJson2];

问题排查与修复

代码存在两处错误:

  • 变量名拼写错误:第二个对象的变量名误写为bojJson2,正确应为objJson2
  • 函数调用语法错误:push_back是成员函数,必须使用圆括号()传递参数,而非方括号[]

修复后的正确代码:

json srcJson = R"({
  "vis.DataSet": [],
  "backup": []
})"_json;

json objJson1 = R"({
  "a" : 1,
  "b" : 2,
  "c" : 3
})"_json;

json objJson2 = R"({
  "a" : 4,
  "b" : 5
})"_json;

srcJson["vis.DataSet"].push_back(objJson1);
srcJson["vis.DataSet"].push_back(objJson2);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 07:26:07