下面是详细讲解“JS把字符串转成JSON对象的三种方法示例详解”的完整攻略。
一、什么是JSON?
JSON是JavaScript Object Notation(JavaScript 对象表示法)的缩写,是一种轻量级的数据交换格式。JSON格式由两种结构组成:
- 名称/值对(对象)
- 值列表(数组)
JSON格式与 JavaScript语言是紧密联系的,因此在 JavaScript中解析JSON非常容易。
二、JS把字符串转成JSON有哪几种方法?
1. JSON.parse()
JSON.parse() 方法可以将JSON格式的字符串转成 JavaScript对象。通常用于服务器端返回的 JSON数据。
语法如下:
JSON.parse(jsonString);
其中,jsonString是一个符合JSON格式的字符串。
示例代码如下:
const jsonString = '{"name": "John", "age": 30, "city": "New York"}';
const jsonObj = JSON.parse(jsonString);
console.log(jsonObj.name); // 输出 John
console.log(jsonObj.age); // 输出 30
console.log(jsonObj.city); // 输出 New York
2. new Function()
new Function()的作用是创建一个函数对象,可以将JSON字符串作为这个函数的函数体,并在函数内部使用eval()函数来执行JSON字符串。
语法如下:
let jsonObj = new Function('return ' + jsonStr)();
其中,jsonStr是一个符合JSON格式的字符串。
示例代码如下:
const jsonString = '{"name": "John", "age": 30, "city": "New York"}';
const jsonObj = new Function('return ' + jsonString)();
console.log(jsonObj.name); // 输出 John
console.log(jsonObj.age); // 输出 30
console.log(jsonObj.city); // 输出 New York
3. eval()
eval()函数可以将JSON字符串转成JavaScript对象。但是,使用eval()函数存在一定的风险问题,因为它可以被用来执行任何类型的JavaScript代码,包括恶意代码。
语法如下:
let jsonObj = eval('(' + jsonStr + ')');
其中,jsonStr是一个符合JSON格式的字符串。
示例代码如下:
const jsonString = '{"name": "John", "age": 30, "city": "New York"}';
const jsonObj = eval('(' + jsonString + ')');
console.log(jsonObj.name); // 输出 John
console.log(jsonObj.age); // 输出 30
console.log(jsonObj.city); // 输出 New York
三、总结
本文中,我们介绍了三种常见的方式,使JS将字符串转成JSON对象。JSON.parse()是最常用的方式,得到的对象是安全的,也能够更清晰地把代码结构化整理。而 new Function()和 eval() 函数都会执行字符串(含有恶意代码风险),使用时需谨慎。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS把字符串转成json对象的三种方法示例详解 - Python技术站