JavaScript 和 JSON

JSON 是 JavaScript Object Notation 的缩写。JSON 是一种基于文本的数据格式,用于存储和传输数据。例如,

// JSON syntax
{
    "name": "John",
    "age": 22,
    "gender": "male",

}

在 JSON 中,数据以 键/值 对的形式出现,并用逗号 , 分隔。

JSON 源自 JavaScript。因此,JSON 语法类似于 JavaScript 对象字面量语法。但是,JSON 格式也可以被其他编程语言访问和创建。

注意JavaScript 对象和 JSON 不是同一回事。您将在本教程后面了解它们的区别。


JSON 数据

JSON 数据包含 键/值 对,类似于 JavaScript 对象属性。键和值用双引号括起来,并用冒号 : 分隔。例如,

// JSON data
"name": "John"

注意:JSON 数据要求键必须使用双引号。


JSON 对象

JSON 对象写在大括号 { } 中。JSON 对象可以包含多个 键/值 对。例如,

// JSON object
{ "name": "John", "age": 22 }

JSON 数组

JSON 数组写在方括号 [ ] 中。例如,

// JSON array
[ "apple", "mango", "banana"]

// JSON array containing objects
[
    { "name": "John", "age": 22 },
    { "name": "Peter", "age": 20 }.
    { "name": "Mark", "age": 23 }
]

注意:JSON 数据可以包含对象和数组。但是,与 JavaScript 对象不同,JSON 数据不能包含函数作为值。


访问 JSON 数据

您可以使用点表示法访问 JSON 数据。例如,

// JSON object
const data = {
    "name": "John",
    "age": 22,
    "hobby": {
	"reading" : true,
	"gaming" : false,
	"sport" : "football"
    },
    "class" : ["JavaScript", "HTML", "CSS"]
}

// accessing JSON object
console.log(data.name); // John
console.log(data.hobby); // { gaming: false, reading: true, sport: "football"}

console.log(data.hobby.sport); // football
console.log(data.class[1]); // HTML

我们使用 . 表示法来访问 JSON 数据。其语法是:variableName.key

您也可以使用方括号语法 [] 来访问 JSON 数据。例如,

// JSON object
const data = {
    "name": "John",
    "age": 22
}

// accessing JSON object
console.log(data["name"]); // John

JavaScript 对象与 JSON 对比

尽管 JSON 的语法与 JavaScript 对象相似,但 JSON 与 JavaScript 对象不同。

JSON JavaScript 对象
键/值对中的键必须使用双引号。 键/值对中的键可以不使用双引号。
JSON 不能包含函数。 JavaScript 对象可以包含函数。
JSON 可以由其他编程语言创建和使用。 JavaScript 对象只能在 JavaScript 中使用。

将 JSON 转换为 JavaScript 对象

您可以使用内置的 JSON.parse() 函数将 JSON 数据转换为 JavaScript 对象。例如,

// json object
const jsonData = '{ "name": "John", "age": 22 }';

// converting to JavaScript object
const obj = JSON.parse(jsonData);

// accessing the data
console.log(obj.name); // John

将 JavaScript 对象转换为 JSON

您也可以使用 JavaScript 内置的 JSON.stringify() 函数将 JavaScript 对象转换为 JSON 格式。例如,

// JavaScript object
const jsonData = { "name": "John", "age": 22 };

// converting to JSON
const obj = JSON.stringify(jsonData);

// accessing the data
console.log(obj); // "{"name":"John","age":22}"

JSON 的用途

JSON 是最常用的格式,用于在服务器与客户端之间传输数据(数据交换)。JSON 数据非常易于解析和使用。由于 JSON 数据只包含文本,因此访问和操作 JSON 数据速度很快。

JSON 是独立于语言的。您也可以在其他编程语言中创建和使用 JSON。


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战