JSON和JavaScript对象之间有什么区别?
我是JSON和JavaScript对象的新手。
- 有人可以解释JSON和JavaScript对象之间的区别吗?
- 它们有什么用?
- 这个比那个好吗?还是取决于情况?
- 什么时候使用哪个,在什么情况下?
- 为什么首先创建JSON?它的主要目的是什么?
- 有人可以举例说明何时应该使用JSON而不是JavaScript对象,反之亦然吗?
-
首先,您应该知道什么是JSON:
- 它是与 语言无关的 数据交换格式。
JSON的语法受JavaScript对象文字表示法的启发,但是它们之间存在差异。
例如,在JSON中,所有 键都 必须加引号,而在对象文字中,则不需要:
// JSON: { "foo": "bar" } // Object literal: var o = { foo: "bar" };
引号在JSON上是必需的,因为在JavaScript中(更确切地说在ECMAScript 3rd。Edition中),不允许将 保留字
用作属性名称,例如:var o = { if: "foo" }; // SyntaxError in ES3
而使用字符串文字作为属性名称(引用属性名称)不会出现任何问题:
var o = { "if": "foo" };
因此,对于 “兼容性” (也许容易评估?),引号是强制性的。
JSON中的数据类型也限制为以下值:
string
number
object
array
- 文字为:
true
false
null
Strings
变化的语法。它们 必须 用 双引号 分隔,而在JavaScript中,您可以互换使用单引号或双引号。// Invalid JSON: { "foo": 'bar' }
可接受的JSON语法
Numbers
也发生了变化,例如0xFF
,在JavaScript中,您可以使用十六进制文字,或(臭名昭著的)八进制文字,例如010
。在JSON中,您只能使用十进制文字。// Invalid JSON: { "foo": 0xFF }
有些错误的实现(Firefox 3.5+,IE8+,json2.js)错误地允许使用八进制文字,例如
JSON.parse('01')
应产生一个SyntaxError
。
-
Javascript对象和JSON对象有什么区别
2021-01-31 关注 0 浏览97 1答案
-
python对象和json对象之间有什么区别?
2021-01-29 关注 0 浏览83 1答案
-
Python字典和Javascript对象之间有什么区别?
2021-01-29 关注 0 浏览453 1答案
-
JavaScript JSON和对象文字表示法有什么区别?
2021-02-02 关注 0 浏览187 1答案
-
使用JSON数组与JSON对象之间有什么区别?
2021-01-31 关注 0 浏览110 1答案
-
JavaScript JSON和JSONP有什么区别?
2021-02-02 关注 0 浏览123 1答案
-
json和对象有什么区别?
2021-01-11 关注 0 浏览129 2答案
-
本机对象和宿主对象之间有什么区别?
2021-02-02 关注 0 浏览97 1答案
-
JSON和对象文字表示法有什么区别?
2021-01-31 关注 0 浏览98 1答案
-
JavaScript中的for语句和for语句之间有什么区别?
2021-02-02 关注 0 浏览97 1答案