Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何创建和填充jsoncpp数组(jsoncpp.sourceforge)_C++_Arrays_Jsoncpp - Fatal编程技术网

C++ 如何创建和填充jsoncpp数组(jsoncpp.sourceforge)

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) {

我试图创建一个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) {

        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时崩溃;