【问题标题】:How to create and populate a jsoncpp array (jsoncpp.sourceforge)如何创建和填充 jsoncpp 数组 (jsoncpp.sourceforge)
【发布时间】:2018-06-01 12:53:13
【问题描述】:

我正在尝试创建一个 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
}

但是当我运行它时,它会爆炸。

我看不到我在这里做错了什么。

【问题讨论】:

  • “它爆炸了” - 想延长吗?
  • 第一次执行时就崩溃了parts[idx]["part"] = partInfo;

标签: c++ arrays jsoncpp


【解决方案1】:

这行得通。

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;

    /... 
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    • 2015-02-04
    • 2017-06-29
    相关资源
    最近更新 更多