JSON和JS对象的一些区别

记一下JSON和js对象的区别:

说到JSON首先想到的是JSON.parse()、JSON.stringify()方法,其实JSON(javascrip Object Notation)JavaScript对象表示法,它是js简单数据格式,或者数据结构.

来看一个例子:

let person={
    name:'zhangsan',
    age:18,
    ismarry:true,
    say:function(){
        console.log('我是张三');
    },
    gender:undefined,
    birth:NaN,
    tel:null
}
console.log(JSON.stringify(person));//{"name":"zhangsan","age":18,"ismarry":true,"birth":null,"tel":null}
let obj=  JSON.parse(JSON.stringify(person));
console.log(person);// {name: 'zhangsan',age: 18,ismarry: true,say: [Function: say],gender: undefined, birth: NaN,  tel: null}
console.log(obj);// { name: 'zhangsan', age: 18, ismarry: true, birth: null, tel: null  }

重点来了:注意上面的例子,js对象中,是以键值对的形式存放数据,这些值可以是string,number,boolean,undefined,NaN,函数等形式.
区别:

     1.将js对象转为JSON字符串后,JSON对象的键和值都是用双引号""引起来的.而js的键不需要引号.
     2.将JSON字符串转为JSON对象后,JSON对象的值不能是函数、undefined.
     3.js中值为NaN类型在JSON对象中则会自动变成null.

总结:

JSONJS
数据结构类的实例
键值对必须加双引号键不加引号
值不能是函数、undefeated 、NaN值可以是函数、对象、字符串、数字、boolean等
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值