A. 怎么删除json数据里的元素
参考方法就是先把抄文件读出来,把不要的数组元素删了后再写回去;
参考代码如下:
// 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();
}
B. js 或者jquery 可以对json 进行增删改操作吗
给你个肯定的回答:是可以的,因为JSON可以理解为js脚本。
例子如下:回
java">varmyjson={a:"1",b:true,aarray:[1,2,3,4]};//构建一个JSON
myjson.a='修改a';/*修改属性答*/alert(myjson);
myjson.d='新增d';/*新增属性*/alert(myjson);
varmyjsonStr=JSON.stringify(myjson);//将myjson转为字符串
alert(myjsonStr);
varnewjson=eval("("+myjsonStr+")");//把字符串转换为JSON对象
注意在低版本的浏览器上是没有内置的JSON对象的,此时需要一个JSON2.js文件,从附件中下载即可。使用JSON2的方法如下:
//检查JSON对象是否正确
if(typeofJSON!='object'){//浏览器没有自带JSON相关的函数
JSON=require('JSON2')//使用seajs加载JSON2.js,也可考虑其他动态方式
}
C. 如何删除json中的某个变量key
删除json中的某个变量key的方法是利用json对象的delete方法:
1、定义json格式的字符串
var myObj: {"test": {"key1": "value", "key2": "value"}}
2、指定要删除的key:
var keyToDelete = "key1";
3、调用delete方法进行删除
delete myObj.test.keyToDelete