雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

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

2024-07-03 37

需求描述

在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),函数进行删除,然后返回。

更新于:2个月前
赞一波!3

文章评论

全部评论