JSON and javascript objects
JSON and javascript objects
var foo = { "a": 1, "b": true, c: [1, true, "2"] };
如果我在这里错了,请纠正我,但据我所知,这是一个有效的 json 对象。但它也是一个JavaScript对象。
JSON 对象是否基于 JavaScript 语言?还是相反?
谢谢
JSON 对象是否基于 JavaScript 语言?
是的。
请参阅规格:
JavaScript 对象表示法 (JSON( 是一种轻量级、基于文本、独立于语言的数据交换格式。 它源自 ECMAScript 编程语言标准。
请注意,ECMAScript 是 JavaScript 的标准化版本。
"如果我在这里错了,请纠正我,但据我所知,这是一个有效的 json 对象">
不。
"但它也是一个JavaScript对象。
是的。
更新:我的原始答案在下面继续,但我错过了一个重要的语法错误,@badunk
字符串
{ "a": 1, "b": true, c: [1, true, "2"] }
是 JSON。JSON 只是关于符号 - 关于哪些符号构成有效语法,以及它们在处理时的含义。
您的代码:
var foo = { "a": 1, "b": true, c: [1, true, "2"] };
..是一段 JavaScript。当解析和处理时,赋值右侧的部分称为 javascript 对象文字。也就是说,一段表示文字对象的 JavaScript。但是因为它实际上是一个对象,所以它不再是符号 - 它被处理成运行时数据结构。
当您谈论数据交换时,术语JSON很有用,例如通过HTTP。如果 HTTP 响应通过如下刺痛:
{ "a": 1, "b": true, c: [1, true, "2"] }
它是有效的 JSON。如果这将被解释,它将产生一个javascript对象。
来自JSON网站
JSON(JavaScript Object Notation(是一种轻量级的数据交换格式。人类很容易读写。机器很容易解析和生成。它基于 JavaScript 编程语言的一个子集。
因此,您的问题的答案将是肯定的。
有人可能会争辩说没有"JSON 对象"这样的东西(http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/(。
上面的代码实际上是一个对象文字。另一方面,JSON 只是一个对象的字符串表示形式,即它是一个序列化。
@Roland指出的那样,语句本身是一个javascript表达式,而不是JSON。 但是,忽略这一点,并评估以下内容是否为 JSON:
{ "a": 1, "b": true, c: [1, true, "2"] }
我不同意这里的其他答案,这不是有效的 JSON。 严格来说,属性必须括在引号中。 在此处查看 SO 帖子。 这是正确的 JSON:
{ "a": 1, "b": true, "c": [1, true, "2"] }
- Javascript Objects?
- JSON and javascript objects
- JavaScript - objects liefetime
- JavaScript - Objects Id
- Javascript - 检查 Amazon Objects 以查看是否定义
- JavaScript - ui-select and objects
- Javascript: ForEach over sub objects
- LocalStorage, JavaScript and Objects
- Javascript shift() for Objects
- Javascript Objects and the DOM
- JavaScript objects - [] vs dot
- behavior of '== 'with objects in Javascript
- conditionals"objects"在javascript中?“什么,type"他们
- Javascript child objects
- JavaScript group objects
- Python to Javascript JSON objects (Flask)
- JavaScript Objects
- JSON.stringify() and JavaScript Objects
- jQuery Event Listener for JavaScript objects
- JavaScript - Objects's Prototype 中的 getter/setter 不起作用.Gette