有没有办法将javascript对象转换为JSON。
我无法使用
JSON.stringify(<obj>)
因为以下链接中的JSON对象中没有stringify方法。
示例:
var obj = {'x':1,'y':2}
现在如果我要跑
console.log(JSON.stringify(obj));
然后我收到了这个错误。
错误:TypeError:对象#没有方法&#39; stringify&#39;
答案 0 :(得分:2)
好吧,网站会用自己的./ / p>覆盖实际的JSON对象
> JSON
> Object {toStr: function, quote: function}
尝试使用JSON.toStr(object)
答案 1 :(得分:1)
答案 2 :(得分:1)
似乎某些代码/库已覆盖全局JSON对象。 JSON.toStr
很好但是如果你想要原来的JSON
对象,你总是可以创建一个不可见的框架并使用它的全局对象
OriginalJSON = (function() {
var e = document.createElement('frame');
e.style.display = 'none';
var f = document.body.appendChild(e);
return f.contentWindow.JSON;
})()
OriginalJSON.stringify({a: 1})
这是一种适用于因某种原因被覆盖的所有全局对象的技术。作为替代方案,您始终只能复制stringify
方法
JSON.stringify = (function() {
var e = document.createElement('frame');
e.style.display = 'none';
var f = document.body.appendChild(e);
return f.contentWindow.JSON.stringify;
})()
// Now JSON.stringify is back
JSON.stringify({a: 1})
答案 3 :(得分:0)
考虑使用外部库,例如JSON 3是一个不错的选择。