💜《JavaScript 语言精粹》附录之 JSON 篇

25 阅读1分钟

再会吧,这宝贵的 片刻和短暂的时机限制了我在情义上的真挚表示,也不能容我们畅叙衷曲,这本来是亲友久违重逢所应有的机缘;愿上帝赐给我们美好的将来,好让我们开怀畅谈!再一次告别;勇敢作战吧,祝你胜利!——— 威廉 · 莎士比亚,《查理三世》(The Tragedy of Richard the Third)

JSON 语法

  • JSON 有 6 种类型的值:对象、数组、字符串、数字、布尔值(true 和 false)和特殊值null。
  • 空白(空格符、制表符、回车符和换行符)可被插到任何值的前后。这使得 JSON 文本能更容易被人阅读。为了减少传输和存储成本,空白可以省略。
  • JSON 对象是给容纳“名/值”对的无序集合。名字可以是任何字符串。值可以是任何类型的JSON 值,包括数组和对象。
  • JSON 数组是一个值的有序序列。其值可以是任何类型的 JSON 值,包括数组和对象。大多数语言都有容易被映射为 JSON 数组的数据类型,比如数组、向量、列表或序列。
  • JSON 字符串被包围在一对双引号之间。\ 字符被用于转义。

安全地使用 JSON

JSON 特别易于用在 Web 应用中,因为 JSON 就是 JavaScript。使用 eval 函数可以把一段 JSON 文本转化成一个有用的数据结构。

var myData = eval('(' + myJSONText + ')');  

通过使用 JSON.parse 方法替代 eval 能避免这种危险。