name json变量和jsonString变量约定?

时间:2015-10-02 01:55:16

标签: json

JSON可能意味着JSON类型或json字符串 当不同的库以两种不同的含义使用json时,它开始让我感到困惑。

我想知道其他人如何以不同的方式命名这些变量。

1 个答案:

答案 0 :(得分:0)

出于所有实际目的,“JSON”只有一个含义,即字符串表示遵循特定语法的JavaScript对象。

使用JSON.parse将JSON解析为JavaScript对象,并使用JSON.stringify将JavaScript对象转换为JSON字符串。

问题在于,太多人都养成了将普通的旧JavaScript对象称为JSON的坏习惯。这可能是混乱或草率或两者兼而有之。 {a: 1}是一个JS对象。 '{"a": 1}'是一个JSON字符串。

同样,许多人使用json之类的变量名称来引用从JSON派生的JavaScript对象。例如:

$.getJSON('foo.php') . then(function(json) { ...

在上述情况下,变量名json是不明智的。从服务器返回的实际有效负载是一个JSON字符串,但是内部$.getJSON已经将其转换为一个普通的旧JavaScript对象,这是传递给then处理程序的对象。因此,最好使用变量名data,例如。

如果一个库使用术语“json”来指代不是JSON但实际上是JavaScript对象的东西,那么它就是设计不佳的标志,我建议四处寻找不同的库。