JSON属性最佳实践

时间:2013-07-30 23:12:43

标签: javascript json

通常,我看到的是{"attribute":241241}

但写这个完全相同:{attribute:241241}

{attribute:241241}被认为是不好的做法,是否应该避免?

4 个答案:

答案 0 :(得分:5)

{attribute:241241}未使用JSONLint进行验证,所以是的,这是不好的做法,应该避免使用。

此外,如果您查看json.org处的JSON规范,您会发现对于对象,第一个值始终是一个字符串(用双引号表示)。

答案 1 :(得分:1)

根据规范here,名称/值对中的名称必须为string类型。

  

对象是零个或多个名称/值对的无序集合,   其中名称是字符串,值是字符串,数字,布尔值,   null,object或array。

答案 2 :(得分:1)

JSON specification要求引用键,因此第二种形式不是有效的JSON。

正如Snakes and Coffee所说,它是一个有效的Javascript对象文字(JSON所基于的),并且一些JSON解析器无论如何都会接受它。因此它可能在某些情况下有效,但迟早你会遇到一个功能完善的JSON解析器,拒绝你的非引用键,因为它们根据规范无效。

答案 3 :(得分:1)

在Javascript中,你正在混淆JSON和Object文字语法

var o = {
    "attribute":241241
};

不是 JSON,但是对象文字。是的,引号在那里没用。