JavaScript 如何将JSON文本转换为JavaScript对象
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。顾名思义,JSON源自JavaScript编程语言,但可供许多语言使用,包括Python、Ruby、PHP和Java,因此可以说是与语言无关的。对于人类来说,它易于阅读和编写;对于机器来说,它易于解析和生成。它非常适合存储和交换数据。
JSON对象是一种以键值对数据格式的形式呈现的,通常用大括号括起来。JSON对象在大括号({})两端有键值对。在大括号内部,每个键值对由逗号(,)分隔。JSON对象的样式如下:
{
"key":"value",
"key":"value",
"key":"value",
}
JSON对象的示例:
{
"rollno":101",
"name":"Nikita",
"age":21,
}
有几种方法可以用来将JSON文本转换为JavaScript对象。
- 使用 jSON.parse() 方法
- 使用 eval()
- 使用 Function 构造函数
方法1:使用 jSON.parse() 方法
JavaScript 中的 JSON.parse() 方法用于解析以 JSON 格式编写的 JSON 字符串,并返回一个 JavaScript 对象。
语法:
JSON.parse(string, function)
参数 : 此方法接受上述提到并在下面描述的两个参数。
- string : 它是一个必需的参数,包含以JSON格式编写的字符串。
- function : 它是一个可选的参数,用于转换结果。该函数被应用于每个项目。
示例: 在这个示例中,我们使用了上述解释的方法。
Javascript
let obj = JSON.parse(
'{"rollno":101, "name": "Nikita","age": 21}');
console.log("Roll no is " + obj.rollno );
console.log("Name is " + obj.name );
console.log("Age is " + obj.age );
输出
Roll no is 101
Name is Nikita
Age is 21
方法2:使用 eval()
使用 eval() 将 JSON 字符串转换为 JSON 对象,eval() 函数以 JSON 字符串作为输入,并将其视为 JavaScript 代码。它执行该代码,从 JSON 字符串创建一个 JavaScript 对象。
语法:
eval(string)
示例: 在这个示例中,我们使用上述解释的方法。
Javascript
// JSON text
const jsonString =
'{"name": "Nikita", "age": 26, "city": "Noida"}';
// Transform JSON text to a JavaScript object using eval()
const jsonObj = eval('(' + jsonString + ')');
console.log(jsonObj);
输出
{ name: 'Nikita', age: 26, city: 'Noida' }
方法3:使用函数构造函数
函数构造函数通过创建和调用一个函数来将JSON字符串转换为JavaScript对象,但它是不安全且不被推荐的。
语法:
const jsonObj = new Function('return ' + jsonString)();
示例:
在这个示例中,我们使用了上述解释的方法。
Javascript
// JSON text
const jsonString =
'{"name": "Rahul", "age": 30, "city": "Noida"}';
// Transform JSON text to a
//JavaScript object using Function constructor
const jsonObj = new Function('return ' + jsonString)();
console.log(jsonObj);
输出
{ name: 'Rahul', age: 30, city: 'Noida' }
极客教程