侧边栏壁纸
  • 累计撰写 185 篇文章
  • 累计创建 77 个标签
  • 累计收到 18 条评论

目 录CONTENT

文章目录

C++使用nlohmann json时如何删掉array类型中的元素

码峰
2023-02-14 / 0 评论 / 0 点赞 / 1,830 阅读 / 184 字 / 正在检测是否收录...
广告 广告

需求描述

在C++中使用nlohmann json时,如果需要删掉array类型中的元素,不能使用basic_json::object提供的erase(iterator)重载,如果需要删除array中的元素需要使用erase(idx)重载进行删除。

实现方法

以下函数,传入的第一个参数是JSON的array对象,第二个参数是要删除的元素的值,该函数实现删除指定字符串元素的第一个匹配的元素。

int RemoveJsonArrayFirstElement(JSON& js, string elemValue)
{
    int idx = 0;
    for (auto iter = js.begin(); iter != js.end(); ++iter) {
        if (*iter == elemValue) {
            js.erase(idx);
            return idx;
        }
        idx++;
    }
    return  -1;
}

如果匹配成功,这调用erase(idx),函数进行删除,然后返回。

0
广告 广告

评论区