将多维数组追加到Jsoncpp

时间:2020-05-01 16:14:49

标签: c++ arrays json append jsoncpp

我有一个现有的json结构,并且尝试在json树中将2D的双精度数组添加到新的Value中。这是显示我尝试执行的功能的函数,其中带注释的选项是定义<vector>而不是2D的双精度数组(两种类型都给我相同的错误输出):

bool My_class::input_2D_array (Value& object_list, geom_object *obj_f) {
  Value v;

  // n_verts is the number of "vertices[]" in the for loop below
  double vert_list[obj_f->n_verts][3];
  //std::vector<std::array<double, 3>> vert_list(obj_f->n_verts);

  for(int i=0; i < obj_f->n_verts; i++) {
    vert_list[i][0] = obj_f->vertices[i]->x;
    vert_list[i][1] = obj_f->vertices[i]->y;
    vert_list[i][2] = obj_f->vertices[i]->z;
  }
  v["vertex_list"] = vert_list;
  //v["vertex_list"] = vert_list.data();

  object_list.append(v);

  return true;
}

这是输出:

"object_list" : 
   {
    "vertex_list" : true
   }

这就是我想要的输出:

"object_list" : 
  {
    "vertex_list": [
      [
       0.0,
       0.0,
       -0.625
      ],
      [
       0.4522545635700226,
       -0.32857829332351685,
       -0.2795122265815735
      ],
      [
       -0.17274247109889984,
       -0.5316557288169861,
       -0.2795124053955078
      ]
    ]
  }

我在这里想念什么?

0 个答案:

没有答案