关于JSON数据格式的解析。

JSON 是一种按照JavaScript对象语法的数据格式。虽然它是基于 JavaScript 语法,但它独立于JavaScript,这也是为什么许多程序环境能够读取(解读)和生成 JSON。

一个 JSON 对象可以被储存在它自己的文件中,这基本上就是一个文本文件,扩展名为 .json

可以把 JavaScript 对象原原本本的写入 JSON 数据——字符串,数字,数组,布尔还有其它的字面值对象。

如:

{
  "squadName" : "Super hero squad",
  "homeTown" : "Metro City",
  "formed" : 2016,
  "secretBase" : "Super tower",
  "active" : true,
  "members" : [
    {
      "name" : "Molecule Man",
      "age" : 29,
      "secretIdentity" : "Dan Jukes",
      "powers" : [
        "Radiation resistance",
        "Turning tiny",
        "Radiation blast"
      ]
    }
  ]
}

如果我们要加载对象进入 JavaScript 程序,以保存为一个名为 superHeroes对象为例,使用 . 或 [] 访问对象内的数据,即:

superHeroes.hometown
superHeroes["active"]

链式访问对象中的对象,即:

superHeroes["members"][1]["powers"][2]

注意事项:

  • JSON 是一种纯数据格式,它只包含属性,没有方法。
  • JSON 要求有两头的 { } 。
  • 甚至一个错位的逗号或分号就可以导致 JSON 文件出错。 JSONLint 可以用于检测。
  • JSON 可以将任何标准合法的 JSON 数据格式化保存,不只是数组和对象。比如,一个单一的字符串或者数字可以是合法的 JSON 对象。
  • 不像 JavaScript 标识符可以用作属性,在 JSON 中,只有字符串才能用作属性。
  • parse(): 以文本字符串形式接受JSON对象作为参数,并返回相应的对象。
  • stringify(): 接收一个对象作为参数,返回一个对应的JSON字符串。

示例:

var myJSON = { "name" : "Chris", "age" : "38" };
myJSON         //{name: "Chris", age: "38"}
var myString = JSON.stringify(myJSON);
myString       //"{"name":"Chris","age":"38"}"  -json格式

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!

js学习笔记-API(一) 上一篇
js学习笔记-继承 下一篇