JSON.stringify()与JSON.parse()


JSON.stringify()JSON.parse() 是 JavaScript 中用于处理 JSON 数据的两个重要方法。

JSON.stringify()

JSON.stringify() 方法用于将 JavaScript 对象转换为 JSON 字符串。它接受一个对象作为参数,并返回相应的 JSON 字符串。

const person = {
  name: 'John',
  age: 30,
  city: 'New York'
};

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

参数和选项:

  • value: 要转换为 JSON 字符串的值。
  • replacer (可选): 一个函数或数组,用于过滤和转换结果。如果是函数,它将为对象的每个成员调用一次。如果是数组,只有数组中的属性名称将被添加到最终结果中。
  • space (可选): 用于美化输出的空格或字符串(最大长度为 10)。
const person = {
  name: 'John',
  age: 30,
  city: 'New York'
};

const jsonString = JSON.stringify(person, null, 2);
console.log(jsonString);
// 输出:
// {
//   "name": "John",
//   "age": 30,
//   "city": "New York"
// }

JSON.parse()

JSON.parse() 方法用于将 JSON 字符串解析为 JavaScript 对象。它接受一个 JSON 字符串作为参数,并返回相应的 JavaScript 对象。

const jsonString = '{"name":"John","age":30,"city":"New York"}';

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

参数:

  • text: 要解析的 JSON 字符串。

示例:从服务器获取 JSON 数据

通常,JSON.stringify()JSON.parse() 用于在客户端和服务器之间传递数据。例如,从服务器获取 JSON 数据,然后在客户端解析它:

// 从服务器获取 JSON 数据
const response = await fetch('https://api.example.com/data');
const jsonText = await response.text();

// 解析 JSON 数据
const data = JSON.parse(jsonText);
console.log(data);

总的来说,JSON.stringify()JSON.parse() 是在处理 JSON 数据时非常有用的两个方法,它们使得 JavaScript 能够轻松地与其他应用程序或服务交换数据。


原文链接:codingdict.net