js中将字符串转换成json的三种方式

yizhihongxing

将字符串转换成 JSON 对象,在 JavaScript 中实际上有三种方式。

方法一:使用 JSON.parse()

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

let jsonString = '{"name": "Tom", "age": 20}';
let obj = JSON.parse(jsonString);
console.log(obj.name); // Tom
console.log(obj.age); // 20

方法二:使用 new Function()

使用 new Function() 构造函数可以动态地创建一个函数,然后执行这个函数,最终获得 JSON 对象。

let jsonString = '{"name": "Tom", "age": 20}';
let fn = new Function('return ' + jsonString);
let obj = fn();
console.log(obj.name); // Tom
console.log(obj.age); // 20

方法三:使用 eval()

eval() 函数可以将字符串作为代码执行,但这种方式不安全,应该尽可能避免使用。

let jsonString = '{"name": "Tom", "age": 20}';
let obj = eval('(' + jsonString + ')');
console.log(obj.name); // Tom
console.log(obj.age); // 20

以上三种方式中,使用 JSON.parse() 是最常用的方式,也是最安全的方法,建议优先使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js中将字符串转换成json的三种方式 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • ES6基础之数组和对象的拓展实例详解

    首先,对于“ES6基础之数组和对象的拓展实例详解”,我们需要了解 ES6 中关于数组和对象的一些新特性。在 ES6 中,数组和对象都有一些新的方法或语法糖,方便了我们的编码。下面我将会分别介绍数组和对象的拓展实例。 数组的拓展实例 扩展运算符 扩展运算符(spread operator)是 ES6 中新增的一个语法。它的主要作用是将一个数组展开成多个独立的值…

    JavaScript 2023年5月27日
    00
  • 图解JavaScript作用域链底层原理

    下面就为大家讲解一下“图解JavaScript作用域链底层原理”的完整攻略。 什么是作用域链? 作用域链指的是在 JavaScript 中,用于查找变量的一种机制。在 JavaScript 中,每个函数都有一个作用域链,它是由多个执行上下文(Execution Context)(如全局上下文、函数上下文等)的变量环境引用组成的链式结构。在查找变量时,Java…

    JavaScript 2023年6月10日
    00
  • JavaScript es6中var、let以及const三者区别案例详解

    JavaScript es6中var、let以及const三者区别案例详解 var、let和const简介 在ES6以前,JavaScript的变量定义只有var一种方式。在ES6中新增了let和const两种定义变量的方式。 var定义的是一个可变的变量,它在函数作用域或全局作用域内都是有效的,并且可以被重新赋值。 let定义的是一个块级作用域的变量,它只…

    JavaScript 2023年6月11日
    00
  • 每个 JavaScript 工程师都应懂的33个概念

    “每个 JavaScript 工程师都应懂的33个概念”是一本非常重要的书籍,其中记录了每个JavaScript工程师需要掌握的33个概念。在本文中,我会详细介绍这本书中的每个概念,以及如何应用它们。 1. 理解页面加载和渲染 在这个章节里,作者介绍了关于页面加载过程的一些细节,以及如何优化页面的加载速度。其中提到了减少HTTP请求、使用无阻塞脚本、使用CS…

    JavaScript 2023年5月18日
    00
  • 徒手实现关于JavaScript的24+数组方法

    徒手实现关于JavaScript的24+数组方法 在这篇攻略中,我们将徒手实现JavaScript中24个及以上的数组方法。这些方法包括常用的push,pop,shift和unshift等,以及其他数组方法如map,filter,reduce,every,some等。我们将会学到如何使用JavaScript编写这些方法,这将展示数组方法是如何工作的。 方法1…

    JavaScript 2023年5月27日
    00
  • js实现让某个动作延迟几秒执行

    实现动作延迟执行可以通过JavaScript语言中提供的setTimeout()函数来实现。 该函数的语法为: setTimeout(function, delay) 其中“function”参数是需要执行的函数名或函数体,delay参数是延迟的时间,单位是毫秒。 下面给出两个示例来讲解该函数如何实现动作延迟执行: 示例一:实现3秒钟后弹窗提示 可以使用以下…

    JavaScript 2023年6月11日
    00
  • 解决Django cors跨域问题

    让我来给您详细讲解解决Django CORS跨域问题的完整攻略。 什么是CORS跨域问题? CORS(Cross-Origin Resource Sharing)跨域资源共享问题,是由于同源策略(Same-Origin Policy)限制而导致的。同源策略指的是协议、域名、端口均相同,否则称之为跨域。在Web开发中,跨域问题是一种常见的问题,也是需要解决的问…

    JavaScript 2023年6月11日
    00
  • JavaScript保留关键字汇总

    下面是JavaScript保留关键字汇总的完整攻略。 什么是JavaScript保留关键字 JavaScript保留关键字是指被JavaScript编程语言用作内部特定目的的单词或符号。这些单词或符号不能被作为变量名、函数名或标识符等用于代码中。如果这些关键字被用作标识符,代码就会出现编译错误。所以我们在编写JavaScript代码的时候,需要避免使用保留关…

    JavaScript 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部