📜  json 编码 js - Javascript (1)

📅  最后修改于: 2023-12-03 15:17:04.613000             🧑  作者: Mango

JSON 编码 JS - Javascript

什么是 JSON

JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于 JavaScript 的语法,但也可以被包括 PHP、Java、Python 等其他语言在内的许多语言使用。

JSON 是一种基于文本的格式,易于阅读和编写。它是面向数据的,有助于提高数据传输速率和减少数据传输量。

JSON 规范

JSON 有两种数据结构:对象和数组。对象是一个无序的键值对列表,用花括号 {} 表示。数组是有序的值列表,用方括号 [] 表示。

{
  "name": "John",
  "age": 30,
  "city": "New York"
}
[
  "Apple",
  "Banana",
  "Orange"
]

在 JSON 中,值可以是字符串、数值、布尔值、null、对象或数组。字符串必须使用双引号括起来,不能使用单引号。

JSON 编码

在 JavaScript 中,通过 JSON.stringify() 方法可以将一个 JavaScript 对象转换为字符串。

const person = {name: 'John', age: 30, city: 'New York'};
const personJson = JSON.stringify(person);
console.log(personJson); // {"name":"John","age":30,"city":"New York"}

注意,在 JavaScript 中,对象的属性名称必须是双引号括起来的字符串,否则会抛出错误。

console.log(JSON.stringify({name: 'John'})); // {"name":"John"}
console.log(JSON.stringify({name: John})); // Uncaught SyntaxError: Unexpected identifier
JSON 解码

在 JavaScript 中,通过 JSON.parse() 方法可以将一个 JSON 字符串转换为 JavaScript 对象。

const personJson = '{"name":"John","age":30,"city":"New York"}';
const person = JSON.parse(personJson);
console.log(person); // {name: "John", age: 30, city: "New York"}

需要注意的是,JSON 字符串中只能包含有效的 JSON 值,而不能包含 JavaScript 特有的值(如函数、日期等)。

总结

JSON 是一种基于文本的数据交换格式,易于阅读和编写。在 JavaScript 中,可以使用 JSON.stringify() 方法将一个 JavaScript 对象编码为 JSON 字符串,可以使用 JSON.parse() 方法将一个 JSON 字符串解码为 JavaScript 对象。