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

将字符串转换成 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)
上一篇 4天前
下一篇 4天前

相关文章

  • 关于JS中的作用域中的问题思考分享

    关于JS中的作用域问题,我可以给你一个完整的攻略。以下是具体内容: 什么是作用域? 在JavaScript中,作用域指的是变量和函数可访问的区域。它主要分为全局作用域和局部作用域。 全局作用域:在代码的任何地方都可以访问,并且被定义在全局作用域中的变量和函数可以在任何地方调用。 局部作用域:这种作用域被定义在函数中,只允许在函数内部访问。局部作用域可以帮助提…

    JavaScript 3天前
    00
  • 利用js正则表达式验证手机号,email地址,邮政编码

    对于利用js正则表达式验证手机号、email地址、邮政编码,可以按照以下步骤进行: 一、编写正则表达式 验证手机号 手机号码一般为11位数字组成,以1开头,比较简单,可以使用以下正则表达式进行匹配: /^1[3456789]\d{9}$/ 该表达式的解释: ^ 为开始符号,表示匹配输入的开始 1 为手机号码开头的数字,即必须以1开头 [3456789] 表示…

    JavaScript 2023年5月19日
    00
  • JavaScript基础之AJAX简单的小demo

    当创建Web应用程序时,需要异步处理与服务器的交互。这就是为什么Ajax对于现代Web开发至关重要。在这个简单的AJAX小demo中,我们将通过一个实际的例子学习AJAX。 1. AJAX的基本知识 AJAX全称“异步JavaScript和XML”,是一种创建快速动态Web内容的技术。通过AJAX,Web应用程序可以在不重新加载页面的情况下向Web服务器发送…

    JavaScript 4天前
    00
  • Javascript Date setMilliseconds() 方法

    JavaScript 中的 setMilliseconds() 方法用于设置日期对象的毫秒部分。在本教程中,我们将详细介绍 setMilliseconds() 方法的使用方法。 setMilliseconds() 方法基本语法如下: date.setMilliseconds(msValue) 其中,msValue 是设置的毫秒值,必须是一个介于 0 到 99…

    JavaScript 2023年5月11日
    00
  • javascript的基础知识(随缘更新)

    1.声明与变量 let声明的变量可以多次赋值 let 变量名 = 值; const修饰叫常量,只能赋值一次,但是引用的值可以改变 var声明的变量可以多次赋值 结论:能用let不用var ,因为作用域的问题 2.基本类型和对象类型 undefined 和 null undefined 指 未定义的对象或者属性时 ,或声明了变量没有赋初始值时 null 指不引…

    JavaScript 2023年4月18日
    00
  • JS FormData对象使用方法实例详解

    JS FormData对象使用方法实例详解 什么是FormData对象 FormData对象是JavaScript提供的一种数据处理对象,主要用来实现表单数据的序列化操作、数据的自动编码以及数据传输等功能。 FormData对象常用方法 FormData对象常用的方法有以下几种: append(name, value[, filename]): 在一个for…

    JavaScript 4天前
    00
  • js计算字符串长度包含的中文是utf8格式

    计算字符串长度是 JavaScript 中常见的需求,但要注意的是在字符串中如果包含了中文字符,这时候需要使用 UTF-8 编码计算字符串的长度。下面是实现步骤: 1. 获取 UTF-8 编码的长度 对于 UTF-8 编码来说,一个中文字符占用 3 个字节。可以使用 JavaScript 的 encodeURIComponent 函数对中文字符编码,然后使用…

    JavaScript 3天前
    00
  • 使用Microsoft Ajax Minifier减小JavaScript文件大小的方法

    使用 Microsoft Ajax Minifier 可以对 JavaScript 文件进行压缩,进而减小文件大小,加快网站的加载速度。下面是使用 Microsoft Ajax Minifier 减小 JavaScript 文件大小的方法: 步骤一:安装 Microsoft Ajax Minifier 去微软官网下载最新版的 Microsoft Ajax M…

    JavaScript 4天前
    00
  • 深浅拷贝,温故知新

    1、深拷贝 1.1、概念 对象的深拷贝是指其属性与其拷贝的源对象的属性不共享相同的引用(指向相同的底层值)的副本。 因此,当你更改源或副本时,可以确保不会导致其他对象也发生更改;也就是说,你不会无意中对源或副本造成意料之外的更改。 在深拷贝中,源和副本是完全独立的。深拷贝与其源对象不共享引用,所以对深拷贝所做的任何更改都不会影响源对象。 1.2、实现方式: …

    JavaScript 2023年5月11日
    00
  • JavaScript 预解析的4种实现方法解析

    JavaScript 预解析的4种实现方法解析 什么是 JavaScript 预解析 JavaScript 预解析是指在代码执行之前,JavaScript 引擎会对代码进行解析和预处理,包括变量提升、函数提升等操作。 为什么需要 JavaScript 预解析 在 JavaScript 中,变量的作用域是函数级别的,函数的作用域也是函数级别的。如果在函数调用之…

    JavaScript 2023年5月18日
    00