JSON字符串转对象应使用JSON.parse(),需确保字符串为合法JSON格式(键名和字符串值必须用双引号),解析失败会抛异常,建议用try...catch捕获;切勿使用eval()。
JavaScript 中把 JSON 字符串转成对象,用 JSON.parse() 就行,这是标准、安全、最常用的方法。
只要字符串是合法的 JSON 格式(注意:键名必须用双引号,不能用单引号或不加引号),就能直接解析:
JSON.parse('{"name": "张三", "age": 25}') → 返回一个对象JSON.parse("{'name': '张三'}")(单引号)或 JSON.parse("{name: '张三'}")(没引号)都会报错如果字符串格式不对,JSON.parse() 会直接抛出异常,所以建议加上 try...catch:
try {
const obj = JSON.parse(str);
console.log(obj);
} catch (e) {
console.error('解析失败:', e.message);
}别用 eval() 来“解析” JSON 字符串——它不安全,可能执行恶意代码,而且不校验 JSON 格式。JSON.parse 是专为 JSON 设计的,更可靠、更快、也更语义明确。
如果之后需要把对象再变回字符串,用 JSON.stringify():
JSON.stringify({name: "李四", act
ive: true}) → '{"name":"李四","active":true}'