Json JQuery冲突

我们的企业应用程序目前使用Json.js我下载了JQuery js文件,将其包含在使用json的页面中,我开始在json.js文件中获取Javascript错误。 错误是:

Microsoft JScript runtime error: Object doesnt suppor this propety or method 

这是一个已知的问题?

编辑:我不知道这个json.js文件是从哪里下载的(同事已经这样做了)。 但是,json.js看起来像这样:

  json.js 2007-04-13 Public Domain This file adds these methods to JavaScript: array.toJSONString() boolean.toJSONString() date.toJSONString() number.toJSONString() object.toJSONString() string.toJSONString() 

我用json2.js替换了这个文件,看来新文件没有parseJSON()函数。 我们在几页中使用此function。

看起来好像Json.js确实使用$作为变量名。 在这些情况下,您需要使用JQuery的noconflict函数 。 基本上你必须将JQuery脚本标记放在Json脚本标记之上,并在加载Json库之前在jquery上调用noconflict。 一个很好的特性是,虽然noconflict使JQuery不使用$,你可以将noconflict(将是JQuery对象)的结果分配给另一个别名,就像这样

 var $j = jQuery.noConflict(); 

现在你只需使用$ j就可以使用$。

您可能想要指定json.js是什么。 这是http://www.json.org/js.html吗?

您可能正在使用与jQuery冲突的旧版本

这可能会有所帮助: http : //www.mail-archive.com/discuss@jquery.com/msg06247.html

要解决任何变量/方法命名问题,请使用这种方法,这种方法在100%的时间内对我有用:

 (function(){ // Your javascript function goes here })(); 

用json2.js替换json.js后,只需替换类似的结构

 foo.toJSONString() foo.parseJSON() 

 JSON.stringify(foo) JSON.parse(foo) 

我使用http://json.org中的json2.js文件和jQuery_1.3.1.js文件组合没有问题。