由JSON的delete来复习一下JSON

今天看代码看到了一行这样写的

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 = '';的方法了

 

posted on 2020-03-09 16:54  rainbowLover  阅读(941)  评论(0编辑  收藏  举报