JSON字符串转对象应使用JSON.parse(),需确保字符串为合法JSON格式(键名和字符串值必须用双引号),解析失败会抛异常,建议用try...catch捕获;切勿使用eval()。

JavaScript 中把 JSON 字符串转成对象,用 JSON.parse() 就行,这是标准、安全、最常用的方法。
使用 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);
} - 常见错误原因:字符串为空、含非法字符、多了一个逗号、用了中文标点、或根本不是 JSON(比如是普通 JS 对象字面量)
注意和 eval() 的区别
别用 eval() 来“解析” JSON 字符串——它不安全,可能执行恶意代码,而且不校验 JSON 格式。JSON.parse 是专为 JSON 设计的,更可靠、更快、也更语义明确。
本文档主要讲述的是Android数据格式解析对象JSON用法;JSON可以将Java对象转成json格式的字符串,可以将json字符串转换成Java。比XML更轻量级,Json使用起来比较轻便和简单。JSON数据格式,在Android中被广泛运用于客户端和服务器通信,在网络数据传输与解析时非常方便。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
立即学习“Java免费学习笔记(深入)”;
反向操作:对象转 JSON 字符串
如果之后需要把对象再变回字符串,用 JSON.stringify():
- 例如:
JSON.stringify({name: "李四", active: true})→'{"name":"李四","active":true}' - 注意:函数、undefined、Symbol 类型的属性会被自动忽略;Date 对象会转成 ISO 字符串;循环引用会报错










