{ " sites " : [ { " name " : " Runoob " , " url " : " www.runoob.com " } , { " name " : " Google " , " url " : " www.google.com " } , { " name " : " Taobao " , " url " : " www.taobao.com " }

JSON 格式化后为 JavaScript 对象

JSON 格式在语法上与创建 JavaScript 对象代码是相同的。

由于它们很相似,所以 JavaScript 程序可以很容易的将 JSON 数据转换为 JavaScript 对象。

JSON 语法规则

  • 数据为 键/值 对。
  • 数据由逗号分隔。
  • 大括号保存对象
  • 方括号保存数组
  • JSON 数据 - 一个名称对应一个值

    JSON 数据格式为 键/值 对,就像 JavaScript 对象属性。

    键/值对包括字段名称(在双引号中),后面一个冒号,然后是值:

    "name":"Runoob"

    JSON 对象

    JSON 对象保存在大括号内。

    就像在 JavaScript 中, 对象可以保存多个 键/值 对:

    {"name":"Runoob", "url":"www.runoob.com"}

    JSON 数组

    JSON 数组保存在中括号内。

    就像在 JavaScript 中, 数组可以包含对象:

    " sites " : [ { " name " : " Runoob " , " url " : " www.runoob.com " } , { " name " : " Google " , " url " : " www.google.com " } , { " name " : " Taobao " , " url " : " www.taobao.com " }

    在以上实例中,对象 "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 格式才有意义。

    俊俊吃饭饭