JavaScript 如何将JSON文本转换为JavaScript对象

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' }

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程