📌  相关文章
📜  如何将 json 转换为 javascript 对象 - Javascript (1)

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

如何将 JSON 转换为 JavaScript 对象 - JavaScript

JSON(JavaScript Object Notation)是一种用于数据交换的轻量级文本格式,常用于 Web 应用程序中。如何在 JavaScript 中将 JSON 转换为对象呢?下面介绍两种常用方法。

方法一:JSON.parse()

JSON.parse() 方法可以将 JSON 格式的字符串转换为 JavaScript 对象。

语法:
JSON.parse(text[, reviver])
参数:
  • text:必需,要转换的 JSON 格式的字符串。
  • reviver:可选,转换函数。该函数将在转换过程中自动调用,用于转换处理一些额外的细节。该函数有两个参数:key 和 value。
示例:
// JSON 格式的字符串
var jsonString = '{"name":"Tom","age":"18"}';

// 将 JSON 转换为 JavaScript 对象
var jsonObj = JSON.parse(jsonString);

// 访问属性
console.log(jsonObj.name);
console.log(jsonObj.age);
注意事项:
  • 如果 JSON 格式的字符串不是严格的格式(例如,属性名必须是双引号包裹的字符串),则会引发语法错误。
  • 如果 JSON 格式的字符串中包含 undefined、函数、循环引用等 JavaScript 无法表示的类型,则会引发类型错误。
方法二:eval()

eval() 方法可以将任意字符串转换为 JavaScript 代码并执行,也可以将 JSON 格式的字符串转换为JavaScript 对象。

语法:
eval(codeString)
参数:
  • codeString:必需,要执行的 JavaScript 代码字符串。
示例:
// JSON 格式的字符串
var jsonString = '{"name":"Tom","age":"18"}';

// 使用 eval() 将 JSON 转换为 JavaScript 对象
var jsonObj = eval('(' + jsonString + ')');

// 访问属性
console.log(jsonObj.name);
console.log(jsonObj.age);
注意事项:
  • 使用 eval() 方法时要非常小心,因为它可以执行任意的代码字符串,存在安全漏洞。
  • eval() 方法的执行效率比 JSON.parse() 方法要低。

以上两种方法各有优缺点,建议使用JSON.parse() 方法来将 JSON 转换为JavaScript 对象。

参考链接:JSON.parse()eval()