2010-05-12 30 views
5

我是JSON的新手&因此我不确定$.toJSON(params)的含义。Javascript - .toJSON

请解释一下。

+5

*咬舌“JSON表示” * – Lazarus 2010-05-12 13:50:06

+0

它可能是一些方法JS库的代码将某些内容转换为JSON格式.. – vsync 2010-05-12 13:53:14

+0

http://www.json.org/json2.js,这是您在处理JSON时应该使用的内容。 – Anders 2010-05-12 14:05:28

回答

11

这可能是这种jQuery plugin

var myObj = {}; 
myObj.propA = "a"; 
myObj.propB = "b"; 
myObj.propC = "c"; 
var jsonString = $.toJSON(myObj); // same as jQuery.toJSON(myObj) 
// output: '{ "propA" : "a", "propB" : "b", "propC" : "c" }' 
+6

最有可能是这个插件,但为什么你会使用该插件'json2.js'我不知道.... – gnarf 2010-05-12 14:00:41

1

它将变量params作为参数传递给名为toJSON的方法,该方法附加到存储在(unhelpfully named)变量$中的对象。

根据名称,它可能会将params变量的内容转换为根据JSON specification格式化的字符串。

5

参见:http://www.json.org/js.html

甲JSON stringifier进入在相反的方向,转换的JavaScript数据结构为JSON文本。 JSON不支持循环数据结构,因此请小心不要给JSON字符串赋予循环结构。

var myJSONText = JSON.stringify(myObject, replacer); 

如果stringify方法看到一个包含toJSON方法的对象,它会调用该方法,并stringifies返回的值。这允许对象确定自己的JSON表示。

字符串方法可以采用可选的字符串数组。这些字符串用于选择将包含在JSON文本中的属性。

串行器方法可以采用可选的replacer函数。它将在结构中每个值的toJSON方法(如果有的话)之后调用。它将传递每个键和值作为参数,并且这将被绑定到持有该键的对象。返回的值将被字符串化。

所以,如果你有一个$.toJSON()方法,它可能是一个badly implemented function到“字符串”,或者它可能是返回$