发布时间:2017-05-25 16:48:06 文章来源:互联网
微博 微信 QQ空间
    我们先来看一个JS中常见的JS对象序列化成JSON字符串的问题,请问,以下JS对象通过JSON.stringify后的字符串是怎样的?先不要急着复制粘贴到控制台,先自己打开一个代码编辑器或者纸,写写看,写完再去仔细对比你的控制台输出,如果有误记得看完全文并评论,哈哈。

    varfriend={
 
    firstName:"Good",
 
    "lastName":"Man",
 
    "address":undefined,
 
    "phone":["1234567",undefined],
 
    "fullName":function(){
 
    returnthis.firstName+""+this.lastName;
 
    }
 
    };
 
    JSON.stringify(friend);//这一行返回什么呢?
 
    第二个问题,如果我想在最终JSON字符串将这个"friend"的姓名全部变成大写字母,也就是把"Good"变成"GOOD",把"Man"变成"MAN",那么可以怎么做?
 
    基于以上两个问题,我们再追本溯源问一下,JSON究竟是什么东西?为什么JSON就是易于数据交换?JSON和JS对象的区别?JS中JSON.parse、JSON.stringify和不常见的toJSON,这几个函数的参数和处理细节到底是怎样的?
 
    欢迎进入本次“深挖JSON之旅”,下文将从以下几个方面去理解JSON:
 
    首先是对“JSON是一种轻量的数据交换格式”的理解;
 
    然后来看经常被混为一谈的JSON和JS对象的区别;
 
    最后我们再来看JS中这几个JSON相关函数具体的执行细节。
 
    希望全文能让如之前的我一样对JSON一知半解的亲能说清楚JSON是什么,也能熟练运用JSON,不看控制台就知道JS对象序列化成JSON字符串后输出是啥。

另一视角

换一换