JS对象文字和JSON字符串有什么区别?

Dev*_*555 5 javascript json

我对Object Literals,JSON,JavaScript Objects对人们究竟是什么意思感到困惑,对我来说它们看起来很相似:

{foo: 'bar', bar : 'baz'}
Run Code Online (Sandbox Code Playgroud)

AFAIK,上面是对象文字,json以及javascript对象,不是吗?

object literal和json是否意味着同样的事情?

你们如何区分哪个是什么?

Eri*_*ric 11

该变量jsonString包含一个JSON字符串:

var jsonString = '{"foo": "bar", "bar" : "baz"}'
Run Code Online (Sandbox Code Playgroud)

该变量javascriptObject包含一个javascript对象,使用对象文字初始化:

var javascriptObject =  {foo: 'bar', bar : 'baz'}
Run Code Online (Sandbox Code Playgroud)

您可以将json字符串转换为javascript对象JSON.parse,然后再返回JSON.stringify.


Rya*_*ell 7

JSON只是一种数据格式,就像XML一样.True J​​SON应该包含双引号括起来的键,如下所示:

{"foo":"bar"}
Run Code Online (Sandbox Code Playgroud)

JavaScript对象是JavaScript语言的一部分,并且具有诸如原型之类的关联事物.

对象文字使用括号创建一个javascript对象,而不是使用new关键字,或Object.create().

//object literal
var foo = {};

//equivalent
var foo = new Object();
Run Code Online (Sandbox Code Playgroud)