如何将javascript对象转换为json而不使用;JSON.stringify“;方法?
有没有办法将javascript对象转换为JSON 我不能用如何将javascript对象转换为json而不使用;JSON.stringify“;方法?,javascript,json,stringify,Javascript,Json,Stringify,有没有办法将javascript对象转换为JSON 我不能用 JSON.stringify() 因为下面链接中的JSON对象中没有stringify方法 例如: var obj = {'x':1,'y':2} 现在我要跑了 console.log(JSON.stringify(obj)); 然后我得到了这个错误 错误:TypeError:对象#没有“stringify”方法 stringify方法取决于您的浏览器 因此,如果您找不到JSON.stringify(),可能您使用的浏览器与JS
JSON.stringify()
因为下面链接中的JSON对象中没有stringify方法
例如:
var obj = {'x':1,'y':2}
现在我要跑了
console.log(JSON.stringify(obj));
然后我得到了这个错误
错误:TypeError:对象#没有“stringify”方法
stringify
方法取决于您的浏览器
因此,如果您找不到JSON.stringify()
,可能您使用的浏览器与JSON API不兼容,您可以将此库包含在其中:
考虑使用外部库,例如,这是一个很好的选择。好的,网站会用自己的库覆盖实际的JSON对象
> JSON
> Object {toStr: function, quote: function}
尝试使用
JSON.toStr(object)
似乎某些代码/库覆盖了全局JSON对象JSON.toStr
很好,但是如果您想要返回原始的JSON
objet,您可以创建一个不可见的框架并使用其全局对象
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})
没有回购协议,Fiddle在ChromeBrowser支持下运行良好,因为我可以在其他网站上使用它!但我对你的情况很好奇,你能提供一些例子来说明为什么只有你的网站JSON被屏蔽了吗?谢谢。你观察力很强!我真的很欣赏这种解释性的回答,因为用这种方法可以解决另一个问题。谢谢