C++ 如何创建和填充jsoncpp数组(jsoncpp.sourceforge)
我试图创建一个json cpp数组,并用std::vector中的数据填充它 我的代码如下所示C++ 如何创建和填充jsoncpp数组(jsoncpp.sourceforge),c++,arrays,jsoncpp,C++,Arrays,Jsoncpp,我试图创建一个json cpp数组,并用std::vector中的数据填充它 我的代码如下所示 void Box_20::BuildCommitUploadPostData(const PartInfoColl& partColl) { Json::Value parts; parts["parts"] = Json::arrayValue; int idx = 0; for (const auto& p : partColl) {
void
Box_20::BuildCommitUploadPostData(const PartInfoColl& partColl)
{
Json::Value parts;
parts["parts"] = Json::arrayValue;
int idx = 0;
for (const auto& p : partColl) {
Json::Value partInfo;
partInfo["part_id"] = p.partId;
partInfo["offset"] = p.offset;
partInfo["size"] = p.size;
parts[idx]["part"] = partInfo;
idx++;
}
/// do more stuff here
}
然而,当我运行它时,它爆炸了
我可以;我看不出我做错了什么。这起作用了
void DoSOmeJsonStuff(const PartInfoColl& partColl)
{
Json::Value parts;
int idx = 0;
for (const auto& p : partColl) {
Json::Value partInfo;
partInfo["part_id"] = p.partId;
partInfo["offset"] = p.offset;
partInfo["size"] = p.size;
parts[idx]["part"] = partInfo;
idx++;
}
Json::Value root;
root["parts"] = parts;
/...
}
“它爆炸了”-想扩展吗?它在第一次执行parts[idx][“part”]=partInfo时崩溃;