网络宝典
第二套高阶模板 · 更大气的阅读体验

JSON.parse怎么用?一文搞懂它的基本用法

发布时间:2026-01-08 04:51:43 阅读:217 次

在做网页开发或者处理数据的时候,经常会遇到一种叫 ref="/tag/2023/" style="color:#3D6345;font-weight:bold;">JSON 的格式。比如从服务器拿回来一段数据,长得像这样:'{"name": "小明", "age": 20}'。这时候你想把它变成 JavaScript 里能直接操作的对象,就得用到 JSON.parse

JSON.parse 是干什么的?

简单说,JSON.parse 就是把一个符合 JSON 格式的字符串,转换成对应的 JavaScript 对象或值。它就像是个翻译官,把“文本”翻译成“程序能看懂的数据”。

基本语法长什么样?

它的写法很简单:

JSON.parse(text)

其中 text 就是你那个 JSON 字符串。

来个实际例子

假设你从后台接口拿到一段用户信息:

const str = '{"name": "张三", "age": 25, "city": "北京"}';
const user = JSON.parse(str);

console.log(user.name); // 输出:张三
console.log(user.age);  // 输出:25

你看,原本只是一个字符串,经过 JSON.parse 之后,就能像普通对象一样访问属性了。

支持哪些类型?

不只是对象,数组也行。比如你收到的是一个列表:

const listStr = '["苹果", "香蕉", "橙子"]';
const fruits = JSON.parse(listStr);

console.log(fruits[0]); // 输出:苹果

数字、布尔值甚至 null 都可以被正确解析:

JSON.parse('123');     // 返回数字 123
JSON.parse('true');    // 返回布尔值 true
JSON.parse('null');    // 返回 null

需要注意的地方

不是所有字符串都能 parse。如果格式不对,程序就会报错。比如少了个引号:

JSON.parse('{name: "test"}'); // 报错!key 必须用双引号

正确的写法必须是双引号包裹 key 和字符串值:

JSON.parse('{"name": "test"}'); // 正确

还有,函数和 undefined 是不能放在 JSON 里的,因为它们不属于标准 JSON 支持的类型。

配合 try-catch 更安全

实际开发中,数据来源不一定靠谱,最好加个异常捕获:

let data;
try {
    data = JSON.parse(responseString);
} catch (e) {
    console.error('解析失败:', e);
    data = {};
}

这样就算数据出问题,也不会让整个页面崩溃。

常见使用场景

你在用 fetchaxios 请求数据时,后端返回的往往是 JSON 字符串。虽然大多数库会自动帮你转成对象,但有时候你接收到的是原始文本,就得自己动手 parse 一下。

另外,本地存储也有用武之地。比如把对象存进 localStorage 之前要先转成字符串(用 JSON.stringify),取出来的时候再用 JSON.parse 变回去。

// 存的时候
localStorage.setItem('user', JSON.stringify({name: '李四'}));

// 取的时候
const user = JSON.parse(localStorage.getItem('user'));
console.log(user.name); // 李四