JSON字符串化忽略同一浏览器中不同选项卡中的参数

时间:2019-06-13 13:26:33

标签: javascript zabbix

我需要通过用户脚本(TamperMonkey)美化现有视图。该代码可在JSFiddle中运行(请参见http://jsfiddle.net/2phrogm5/),但不在我需要的位置:在Zabbix Web界面中。

要复制该问题:

JSON.stringify({"asd": {"asd": 3}}, null, 4)

预期结果:

"{
    "asd": {
        "asd": 3
    }
}"

我的输出:

"{"asd":{"asd":3}}"

使用https://stackoverflow.com/上的开发人员工具不存在该问题。

我已经尝试了JSON.stringify() array bizarreness with Prototype.js中提供的解决方案,但没有成功。

1 个答案:

答案 0 :(得分:0)

查看Zabbix Web界面的源代码,您可以看到该方法被覆盖的地方:

zabbix-software$ egrep -iR "JSON.stringify *="
frontends/php/jsLoader.php:             'var _json_stringify = JSON.stringify;'.
frontends/php/jsLoader.php:             'JSON.stringify = function(value) {'.

原始功能仍然可用,只是名称不同:_json_stringify()。更新的jsfiddle是http://jsfiddle.net/u7r8q19g/