今天看代码看到了一行这样写的
delete d.parent
联系上下文觉得应该是json里边的方法,测试后得到结果:delete jsonObj.attr 或 delete jsonObj[attr] 是删除JSON对象的一个属性
之前都是 jsonObj.attr = '' 现在看有点low哦
网上查询一下果然是这样,接下来就回顾一下JSON有那些常用方法呢
1.与字符串之间的转换:
let jsonStr = JSON.stringify(jsonObj);//json对象转化为json字符串,调试时候经常用到 let jsonObj = JSON.parse(jsonStr);//json字符串转化为json对象 let jsonObj = eval('('+jsonStr+')');//json字符串转化为json对象 let jsonObj = jsonStr.parseJSON();//json字符串转化为json对象
特别注意:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。
2.用最原始的for循环遍历json数组或者用 for in 遍历对象
for(let key in jsonObj){ console.log(key + ':' + jsonObj[key]); }
3.然后增改:jsonObj['newAttr'] = 'jock'//添加了一个key为newAttr value为jock的节点
jsonObj[attr] = 'newValue';//修改为新值
写这么多感觉没什么,就是想记住delete 这个,不想以后再遇见再用 jsonObj.attr = '';的方法了