在以上实例中,对象 "sites" 是一个数组,包含了三个对象。
每个对象为站点的信息(网站名和网站地址)。
JSON 字符串转换为 JavaScript 对象
通常我们从服务器中读取 JSON 数据,并在网页中显示数据。
简单起见,我们网页中直接设置 JSON 字符串 (你还可以阅读我们的
JSON 教程
):
首先,创建 JavaScript 字符串,字符串为 JSON 格式的数据:
var
text
=
'
{ "sites" : [
'
+
'
{ "name":"Runoob" , "url":"www.runoob.com" },
'
+
'
{ "name":"Google" , "url":"www.google.com" },
'
+
'
{ "name":"Taobao" , "url":"www.taobao.com" } ]}
'
;
var
text
=
'
{ "sites" : [
'
+
'
{ "name":"Runoob" , "url":"www.runoob.com" },
'
+
'
{ "name":"Google" , "url":"www.google.com" },
'
+
'
{ "name":"Taobao" , "url":"www.taobao.com" } ]}
'
;
obj
=
JSON
.
parse
(
text
)
;
document
.
getElementById
(
"
demo
"
)
.
innerHTML
=
obj
.
sites
[
1
]
.
name
+
"
"
+
obj
.
sites
[
1
]
.
url
;
尝试一下 »
函数描述
JSON.parse()
用于将一个 JSON 字符串转换为 JavaScript 对象。
JSON.stringify()
用于将 JavaScript 值转换为 JSON 字符串。
更多 JSON 信息,你可以阅读我们的
JSON 教程
。
很多人搞不清楚 JSON 和 JS 对象的关系,甚至连谁是谁都不清楚。
其实,可以这么理解:
JSON 是 JS 对象的字符串表示法。它使用文本表示一个 JS 对象的信息,(JSON)本质是一个字符串。
var obj = {a: 'Hello', b: 'World'}; //这是一个js对象,注意js对象的键名也是可以使用引号包裹的,这里的键名就不用引号包含
var json = '{"a": "Hello", "b": "World"}'; //这是一个 JSON 字符串,本质是一个字符串
JSON(格式字符串) 和 JS 对象(也可以叫JSON对象 或 JSON 格式的对象)互转(JSON.parse 和 JSON.stringify)。
要实现从JSON字符串转换为JS对象,使用 JSON.parse() 方法:
var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //结果是 {a: 'Hello', b: 'World'} 一个对象
要实现从JS对象转换为JSON字符串,使用 JSON.stringify() 方法:
var json = JSON.stringify({a: 'Hello', b: 'World'}); //结果是 '{"a": "Hello", "b": "World"}' 一个JSON格式的字符串
说句不严谨的话:JSON.parse() 就是字符串转 js 对象, JSON.stringify()就是 js 对象转字符串,它们前提是要 json 格式才有意义。