通常,我看到的是{"attribute":241241}
但是写这个完全一样:{attribute:241241}
。
被 {attribute:241241}
认为是不好的做法,是否应该避免?
通常,我看到的是{"attribute":241241}
但是写这个完全一样:{attribute:241241}
。
被 {attribute:241241}
认为是不好的做法,是否应该避免?
JSON 规范要求引用键,因此第二种形式不是有效的 JSON 。
正如 Snakes 和 Coffee 所指出的,它是一个有效的 Javascript 对象文字(JSON 是基于它的),一些 JSON 解析器无论如何都会接受它。所以它在某些情况下可能会起作用,但迟早你会遇到一个功能完美的 JSON 解析器,它会拒绝你的非引用键,因为它们在规范中是无效的。
您在 Javascript 中将 JSON 与 Object 文字语法混淆了
var o = {
"attribute":241241
};
不是JSON,而是对象文字。是的,引号在那里毫无用处。
根据此处的规范,名称/值对中的名称必须是 type string
。
对象是零个或多个名称/值对的无序集合,其中名称是字符串,值是字符串、数字、布尔值、null、对象或数组。