JSON.parse()和JSON.stringify()

JSON.parse():从json字符串中解析出json对象(反序列化)。

JSON.stringify():用来序列化对象,无论参数是什么类型,输出的内容都是字符串类型。

例如有字符串:

    var str = '{"name":"chengjunyu", "age":28, "sex":"male"}';
    console.log(str);
    console.log(typeof(str));
    var jsonStr = JSON.stringify(str);
    console.log(jsonStr);
    console.log(typeof(jsonStr));
    var json = JSON.parse(str);
    console.log(json);
    console.log(typeof(json));
    var jsonstr2 = JSON.stringify(json);
    console.log(jsonstr2);
    console.log(typeof(jsonstr2));

由上述案例可以发现,{"name":"chengjunyu", "age":28, "sex":"male"}原来是一个字符串,经过JSON.stringify()解析后,将字符串做了一个转化,仍然是一个字符串,再将{"name":"chengjunyu", "age":28, "sex":"male"}字符串通过JSON.parse()解析,得到了一个Object对象,这时就是json对象了,我们可以直接通过json的key来获取value值,最后再将json通过JSON.stringify()解析,又一次得到了一个String类型的字符串。

上述案例中有个需要注意的地方,'{"name":"chengjunyu", "age":28, "sex":"male"}' 字符串中的key如果不加没有双引号,浏览器会报“Uncaught SyntaxError: Unexpected token n in JSON at position 1”错误,这是要按照json对象标准写法来写,所有的key都要加上双引号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值