当前位置 : 主页 > 网络编程 > JavaScript >

JavaScript JSON使用原理及注意事项

来源:互联网 收集:自由互联 发布时间:2020-11-08
环境 vscode 1.46 Microsoft Edge 83 概念 JSON 是一种按照JavaScript对象语法的数据格式,这是 Douglas Crockford 推广的。 虽然它是基于 JavaScript 语法,但它独立于 JavaScript,这也是为什么许多程序环

环境

  • vscode 1.46
  • Microsoft Edge 83

概念

JSON 是一种按照JavaScript对象语法的数据格式,这是 Douglas Crockford 推广的。

虽然它是基于 JavaScript 语法,但它独立于 JavaScript,这也是为什么许多程序环境能够读取(解读)和生成 JSON。

JSON可以作为一个对象或者字符串存在,前者用于解读 JSON 中的数据,后者用于通过网络传输 JSON 数据。

JavaScript 提供一个全局的 可访问的 JSON 对象来对这两种数据进行转换。

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"
   ]
  },
  {
   "name" : "Madame Uppercut",
   "age" : 39,
   "secretIdentity" : "Jane Wilson",
   "powers" : [
    "Million tonne punch",
    "Damage resistance",
    "Superhuman reflexes"
   ]
  },
  {
   "name" : "Eternal Flame",
   "age" : 1000000,
   "secretIdentity" : "Unknown",
   "powers" : [
    "Immortality",
    "Heat Immunity",
    "Inferno",
    "Teleportation",
    "Interdimensional travel"
   ]
  }
 ]
}

JSON 数组

[
 {
  "name" : "Molecule Man",
  "age" : 29,
  "secretIdentity" : "Dan Jukes",
  "powers" : [
   "Radiation resistance",
   "Turning tiny",
   "Radiation blast"
  ]
 },
 {
  "name" : "Madame Uppercut",
  "age" : 39,
  "secretIdentity" : "Jane Wilson",
  "powers" : [
   "Million tonne punch",
   "Damage resistance",
   "Superhuman reflexes"
  ]
 }
]

其他注意事项

  • JSON 是一种纯数据格式,它只包含属性,没有方法。
  • JSON 要求有两头的 { } 来使其合法。最安全的写法是有两边的括号,而不是一边。
  • 甚至一个错位的逗号或分号就可以导致 JSON 文件出错。您应该小心的检查您想使用的数据(虽然计算机生成的 JSON 很少出错,只要生成程序正常工作)。您可以通过像 JSONLint 的应用程序来检验 JSON。
  • JSON 可以将任何标准合法的 JSON 数据格式化保存,不只是数组和对象。比如,一个单一的字符串或者数字可以是合法的 JSON 对象。虽然不是特别有用处……
  • 不像 JavaScript 标识符可以用作属性,在 JSON 中,只有字符串才能用作属性。

对象和文本间的转换

可以使用 JSON.stringify 和 JSON.parse 来进行对象和文本间的转换。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

网友评论