怎么删除json数据里的元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么删除json数据里的元素相关的知识,希望对你有一定的参考价值。

var aa = ;

aa["cc"] = json1;
aa["bb"] = json2;
aa["kk"] = json3;

json1 json2 json3 皆为json对象
我现在想删除 json2 里面的 某个数据 我该怎么删除

希望详细点 splice delete 都试过 不知道怎么就是删不了 还是我本来向aa对象里添加数据的方式错了
aa.push(json1); 这样写还报错
希望方法写详细点 谢谢

参考方法就是先把文件读出来,把不要的数组元素删了后再写回去;
参考代码如下:
// std::string jsonPath // json文件路径
Json::Reader reader;
Json::Value root;

ifstream is;
is.open (jsonPath.c_str(), std::ios::binary );
if (reader.parse(is, root))

std::string code;
Json::Value value;
int size = root.size();
for (int i = 0; i < size; i++)

if(条件)

value[i] = root[i];


is.close();

Json::FastWriter writer;
std::string json_append_file = writer.write(value);

std::ofstream ofs;
ofs.open(jsonPath.c_str());
ofs << json_append_file;
ofs.close();
参考技术A 你的aa可以认为是对象,可以直接赋值
删除对象中的属性 delete 要删除的属性名即可
参考技术B delete aa.bb.prop;追问

json2 我是想删除它里面的对象额

而不是整个删除掉啊

追答

aa.bb是json2,
prop改成你要删除的属性名

追问

delete aa["" + tt + ""][index];
json2 = ["ccc":123,"ddd":55]
我是想把"ccc":123他给删除掉
上面写的有什么问题么
tt="bb" 因为更本不确定会对那个操作

追答// 删除数组元素
var tt = 'bb';
var index = 0;
aa[tt].splice(index, 1);

本回答被提问者采纳

以上是关于怎么删除json数据里的元素的主要内容,如果未能解决你的问题,请参考以下文章

json怎么删除数组元素

jjs json数组型怎么删除里面指定的某个元素

java中把json怎么转换成数组?

js如何删除json里的值

怎么提取json里的数据变成EXCEL?

js,求大神指导 怎么删除数组型json里不符合条件的元素