火星救援:JSON 是什么?

1. 简介

JSON, 全称 JavaScript Object Notation, 即 JavaScript 对象表示法。

它是一种轻量级的数据交换格式。它的名字中虽然有 JavaScript, 但是由于它轻量和易于解析的特点,在除了 JavaScript 的很多地方被广泛使用。

JSON 使用的对象表示方法与 JavaScript 中表示对象的方法非常相似。

2. 语法规则

说在前面:JSON 只是一种数据的表示方法,因为它并不图灵完全,它不是一种编程语言。

它主要有以下几种语法:

各个数据之间用逗号 , 分隔
数据按照 key: value 的方式表示
{} 表示一个对象{ Name: "Jack" }
[] 表示一个数组
[1, 2, 3, 4, 5, 6]

[
{ Name: "Jack" },
{ Name: "Tom" },
{ Name: "Alice" }
]

其中,作为 value 的值可以是:

  1. 数字(整数或浮点数)
  2. 字符串(在双引号中)
  3. 逻辑值(true 或 false)
  4. 数组(在中括号中)
  5. 对象(在大括号中)
  6. null

3. 从 JSON 中取出某个值

由于不同语言可能有不同的获取/解析 JSON 的方式,这里以 JavaScript 为例。

JavaScript 中可以用 [] 获得数组索引对应元素,用 . 获取对象中的某个键对应的值。

我们来举一些例子:

例子所用的 JSON 如下

var sites = 
[ 
  { "name": "Google" , "url": "www.google.com" }, 
  { "name": "GitHub", "url": "www.github.com" },
  { "name": "StackOverflow" , "url": "stackoverflow.com" }, 
  { "name": "LeetCode" , "url":"www.leetcode.com" } 
];

若想要取得字符串 "Github", 那么可以使用 sites[1].name 即可。

site[2] 可以获得整个 object { "name": "StackOverflow" , "url": "stackoverflow.com" }

同时这些表达式也可以直接作左值,即可以直接对其进行赋值。

没别的了。JSON 就这么简单。

发表评论

邮箱地址不会被公开。 必填项已用*标注