JSON.parse() and JSON.stringify()

前言

最近发现一个比较好的关于前端的英文博文网站,主要是关于Javascript、Vuejs、React、Angular、CSS的前端网站博文网站,网站地址是:https://alligator.io/,感兴趣的可以看一下,跟着学习也不错。 本文翻译自JSON.parse() and JSON.stringify() JSON对象,在所有的现代浏览器中是有效的,有两个非常有用的方法用于处理JSON格式的内容:parse和stringify。JSON.parse()接收一个JSON字符串作为参数,将它转换成一个JavaScript对象。JSON.stringify()接收一个Javascript对象作为参数,转换它为一个JSON字符串。 示例如下:

1const myObj = { 2 name: 'Skip', 3 age: 2, 4 favoriteFood: 'Steak' 5}; 6 7const myObjStr = JSON.stringify(myObj); 8 9console.log(myObjStr); 10// "{"name":"Skip","age":2,"favoriteFood":"Steak"}" 11 12console.log(JSON.parse(myObjStr)); 13// Object {name:"Skip",age:2,favoriteFood:"Steak"}

尽管这些方法通常用于对象,但它们也可以用于数组:

1const myArr = ['bacon', 'letuce', 'tomatoes']; 2 3const myArrStr = JSON.stringify(myArr); 4 5console.log(myArrStr); 6// "["bacon","letuce","tomatoes"]" 7 8console.log(JSON.parse(myArrStr)); 9// ["bacon","letuce","tomatoes"]

—很抱歉打断这个程序! 📺 您对学习React感兴趣吗? 如果是这样,我强烈建议您尝试Wes Bos的React初学者课程或Fullstack Advanced React&GraphQL课程。

考虑到当前使用COVID-19的情况,对于我们大多数人来说,时间很艰难,但是如果您呆在家里,则也许可以利用这些额外的时间来练习前端技能。 Wes将他所有课程的折扣都降低了50%,以帮助我们应对当前面临的挑战。

另外,这些是会员链接,因此,如果您购买课程,则可以帮助Alligator.io继续同时存在! 🙏

JSON.parse()

JSON.parse()可以为reviver函数使用第二个参数,该函数可以在返回对象值之前对其进行转换。 此处,对象的值在parse方法的返回对象中大写:

1const user = { 2 name: 'John', 3 email: 'john@awesome.com', 4 plan: 'Pro' 5}; 6 7const userStr = JSON.stringify(user); 8 9JSON.parse(userStr, (key, value) => { 10 if (typeof value === 'string') { 11 return value.toUpperCase(); 12 } 13 return value; 14});

注意:尾部逗号在JSON中无效,因此,如果传递给它的字符串具有尾部逗号,则JSON.parse()抛出。

JSON.stringify()

JSON.stringify()可以接受两个附加参数,第一个是替换函数,第二个是String或Number值,用作返回的字符串中的空格。

replacer函数可用于滤除值,因为任何以undefined返回的值都将不在返回的字符串中:

1const user = { 2 id: 229, 3 name: 'John', 4 email: 'john@awesome.com' 5}; 6 7function replacer(key, value) { 8 console.log(typeof value); 9 if (key === 'email') { 10 return undefined; 11 } 12 return value; 13} 14 15const userStr = JSON.stringify(user, replacer); 16// "{"id":229,"name":"John"}"

并传入一个带有空格参数的示例:

1const user = { 2 name: 'John', 3 email: 'john@awesome.com', 4 plan: 'Pro' 5}; 6 7const userStr = JSON.stringify(user, null, '...'); 8// "{ 9// ..."name": "John", 10// ..."email": "john@awesome.com", 11// ..."plan": "Pro" 12// }"

Beginner Javascript

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java将前端的json数组字符串转换为列表

记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang

Java修道之路,问鼎巅峰,我辈代码修仙法力齐天

<center<fontcolor00FF7Fsize5face"黑体"代码尽头谁为峰,一见秃头道成空。</font<center<fontcolor00FF00size5face"黑体"编程修真路破折,一步一劫渡飞升。</font众所周知,编程修真有八大境界:1.Javase练气筑基2.数据库结丹3.web前端元婴4.Jav

JSON.parse() and JSON.stringify() - HelloWorld