js-将JSON 字符串转换为JavaScript 对象(JSON.parse)

1.背景

javascript 复制代码
// JSON 字符串
const jsonString = '{"name": "张三", "age": 30, "city": "北京"}';

获取name值

2. JSON字符串进行转换为JS对象

将 JSON 字符串转换为 JavaScript 对象(JSON.parse(jsonString))

javascript 复制代码
// JSON 字符串
const jsonString = '{"name": "张三", "age": 30, "city": "北京"}';

// 将 JSON 字符串转换为 JavaScript 对象
const jsonObject = JSON.parse(jsonString);

console.log(jsonObject.name); // 输出: 张三
console.log(jsonObject.age);  // 输出: 30
console.log(jsonObject.city); // 输出: 北京

JSON.parse 是 JavaScript 中用于将 JSON 格式的字符串转换为 JavaScript 对象的方法。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成

JSON.parse方法接受一个 JSON 格式的字符串作为参数,并返回一个 JavaScript 对象。如果字符串不是有效的 JSON 格式,则会抛出一个 SyntaxError 异常。

3. 应用场景

  1. 从服务器获取数据:当从服务器获取数据时,数据通常是 JSON 格式的字符串,需要将其转换为 JavaScript 对象以便进一步处理。

  2. 本地存储数据:在浏览器中使用 localStoragesessionStorage 存储数据时,可以将 JavaScript 对象转换为 JSON 字符串存储,需要时再转换回对象。

  3. 跨域数据交换:在 Web 开发中,经常需要跨域交换数据,JSON 是一种常用的数据格式。

4.注意事项

  1. 异常处理JSON.parse 在解析无效的 JSON 字符串时会抛出异常,因此在使用时应该进行异常处理。

  2. 安全性 :当解析来自不受信任的源的 JSON 数据时,应该小心防范潜在的代码注入攻击。可以使用 JSON.parse 的第二个参数,一个函数,来过滤或转换解析后的数据。

  3. 数据类型JSON.parse 只能解析 JSON 格式的字符串,不能解析 JavaScript 的其他数据类型,如 undefinedfunction 等。

javascript 复制代码
try {
    const jsonString = '{"name": "张三", "age": 30, "city": "北京"}';
    const jsonObject = JSON.parse(jsonString);
    console.log(jsonObject);
} catch (error) {
    console.error("解析 JSON 字符串时出错:", error);
}
相关推荐
Bear on Toilet19 小时前
继承类模板:函数未在模板定义上下文中声明,只能通过实例化上下文中参数相关的查找找到
开发语言·javascript·c++·算法·继承
风若飞19 小时前
npm ERR! code CERT_HAS_EXPIRED
前端·npm·node.js
北城笑笑20 小时前
NodeJS 8 ,从 0 到 1:npm 包发布与更新全流程指南( 含多场景适配与踩坑总结 )
前端·npm·node.js·github
Mike_jia20 小时前
如何找回Harbor密码
前端
码码哈哈0.020 小时前
npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚
前端·npm·node.js
浩男孩20 小时前
🍀简简单单结合 hooks 优雅使用弹窗🚀🚀
前端
江城开朗的豌豆20 小时前
Axios拦截器:给你的请求加上"双保险"!
前端·javascript·react.js
晓得迷路了20 小时前
栗子前端技术周刊第 98 期 - NPM 生态遭受攻击、Rspack 1.5.3、Storybook 10 beta...
前端·javascript·css
江城开朗的豌豆20 小时前
解密DVA:React应用的状态管理利器
前端·javascript·react.js
码猿宝宝20 小时前
浏览器中javascript时间线,从加载到执行
开发语言·javascript·ecmascript