You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用nlohmann-json向指定JSON数组添加元素?

向JSON数组data["user1"]["buy"]添加元素的方法

从你给出的代码来看,你使用的是nlohmann/json库(C++中常用的JSON处理库),向data["user1"]["buy"]这个数组添加元素可以通过以下几种方式实现:

方法一:构造元素对象后添加

先创建一个新的JSON对象,再用push_back()方法将其加入目标数组:

// 构造要添加的购买项
json new_buy_item = {
    {"id", 2003},
    {"name", "some name9"},
    {"price", 150},
    {"available", 5},
    {"category", "new_category"}
};

// 向user1的buy数组追加元素
data["user1"]["buy"].push_back(new_buy_item);

方法二:直接在push_back中初始化元素

如果不需要复用这个元素,可以直接在push_back()里完成对象初始化,简化代码:

data["user1"]["buy"].push_back({
    {"id", 2003},
    {"name", "some name9"},
    {"price", 150},
    {"available", 5},
    {"category", "new_category"}
});

验证修改与保存

添加完成后,你可以通过size()方法确认数组长度变化,验证元素是否成功添加:

// 输出修改后的数组长度
std::cout << "user1的buy数组当前元素数量:" << data["user1"]["buy"].size() << std::endl;

如果需要将修改后的JSON写回文件,可使用以下代码:

// 打开文件并写入格式化后的JSON内容
std::ofstream output_file("updated_data.json");
output_file << data.dump(4); // dump(4)生成带4空格缩进的格式化JSON
output_file.close();

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 16:50:18