繁体   English   中英

特定网站上的数组出现意外的JSON.stringify行为

[英]Unexpected JSON.stringify behavior with arrays on specific website

我正在运行JSON3库,但由于某些原因JSON.stringify在特定网站上返回不同的结果,该库失败了,不幸的是该页面落后于登录名,但我提供了图像。

“ concursolutions.com”门户的主页(如果有人登录)。

相似之处-

  1. 这两个函数都使用“本机函数”(如图所示)
  2. 两个页面都使用HTML5 doctype(即)
  3. 两者都在chrome 59上测试

我还应该检查什么? 我没有想法

我使用的代码:

JSON.stringify({'a':[1, 2]}, undefined, 1)

意外行为 在此处输入图片说明

预期的行为

在此处输入图片说明

Finaly找到了答案,问题是在prototype.js版本1.6.1.0中的BUG

prototype.js库会修改/覆盖许多“本机”功能。

将add的toJSON函数原型添加到数组,这会导致JSON.stingify获得该值而不是原始值。

有关“ toJSON”行为的更多信息

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#toJSON()_behavior

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM