由JSON的delete来复习一下JSON

Posted rainbowLover

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了由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 = ‘‘;的方法了

 

以上是关于由JSON的delete来复习一下JSON的主要内容,如果未能解决你的问题,请参考以下文章

将 JSON 字符串从片段传递到适配器的问题

json 个人的vscode的代码片段

实用代码片段将json数据绑定到html元素 (转)

使用eolinker(postman)传递map等复杂类型的数据

JSON.stringify的使用细节

GraphQL 片段 JSON 格式