码迷,mamicode.com
首页 > Web开发 > 详细

浅谈 js 对象 toJSON 方法

时间:2014-07-29 11:40:36      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:blog   http   java   使用   os   io   cti   html   

bubuko.com,布布扣

前些天在《浅谈 JSON.stringify 方法》说了他的正确使用姿势,今天来说下 toJSON 方法吧。
其实我觉得这货跟 toString 一个道理,他是给 stringify 方法字符串化的时候调用的。
看下 MDN 官方文档吧《toJSON behavior》。
非常简单,但是要注意的是他和 stringify 方法第二个参数稍微有点不同。
因为 stringify 第二个参数是回调函数时,只是对当前 key 对应的值进行修改。
而 toJSON 则是对当前对象进行修改。
例如:

var obj = {
    key: ‘foo‘
};
var ret = JSON.stringify(obj, function (k, v) {
    return k === "key" ? v.toUpperCase() : v;
});
console.log(ret);

var obj = {
    key: ‘foo‘,
    toJSON: function () {
        return ‘bar‘;
    }
};
var ret = JSON.stringify(obj);
console.log(ret);

区别非常明显,toJSON 的返回值直接代替了当前对象,而 stringify 的回调函数则仅仅是修改了当前值。

当然他们有各自的用处,所以看需求选择使用就好。

好了,今天就简单分享下这些吧。

浅谈 js 对象 toJSON 方法,布布扣,bubuko.com

浅谈 js 对象 toJSON 方法

标签:blog   http   java   使用   os   io   cti   html   

原文地址:http://www.cnblogs.com/52cik/p/js-json-tojson.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!