JavaScript 中JSON.parse()和JSON.stringify()方法的区别

JavaScript 中JSON.parse()和JSON.stringify()方法的区别

JavaScript 通过JSON的帮助,在从服务器发送数据到网页时可以存储和传输数据。 JSON(JavaScript对象表示法) 是一种独立于语言的轻量级数据交换格式,易于阅读和编写。JSON提供了不同的方法,可以将JS对象转换为字符串,或者将以JSON格式编写的JSON字符串解析为JavaScript对象。为此,使用JSON.parse()和JSON.stringify方法。在本文中,我们将看到JSON.parse()方法和JSON.stringify方法,以及它们的实现和区别。

JSON.stringify()方法 用于将JavaScript对象转换为JSON字符串。该方法只接受一个参数,该参数是要转换为JSON字符串的对象。它的工作方式与 JSON.parse() 方法相反。 JSON.stringify可以将replacer参数作为函数,我们可以在对象的键值对上编写逻辑。在从web服务器接收数据(例如node服务器)时,数据必须是字符串格式的,并且通过JSON.parse()解析数据后,数据变为对象。日期的格式在JSON中不允许,因此您可以将日期包含在字符串中。

示例: 此示例描述了JSON.stringify()方法的基本用法。

Javascript

const myInfo = { 
   Name: "GFG",  
   Age:22, 
   Department : "Computer Science and Engineering", 
   Year: "3rd"
} 
const Obj = JSON.stringify(myInfo); 
console.log(Obj)

解释 : 这里,变量 myInfo 包含一个具有4个属性的JavaScript对象: Name , Age , Department,YearJSON.stringify()方法 返回JSON字符串, 该字符串被存储在对象 Obj 中。

Output :

{"Name":"GFG","Age":22,"Department":"Computer Science and Engineering","Year":"3rd"}

JSON.parse() 方法 用于将 JSON 字符串转换为 JavaScript 对象。JavaScript 对象基本上是存储一些对应类的数据的存储器。它接受一个参数,即要解析的 JSON 字符串。注意,要解析的字符串必须用反引号 括起来,且所有单词必须用双引号括起来。在向 Web 服务器发送数据时,数据必须以字符串格式存在。它可用于将数据存储在浏览器的本地存储中,因为浏览器将数据存储在键值对中。

示例: 此示例描述了 JSON.parse() 方法的基本用法。

Javascript

const myInfo = `{ 
   "Name": "GFG",  
   "Age":22, 
   "Department" : "Computer Science and Engineering", 
   "Year": "3rd"
}` 
  
const Obj = JSON.parse(myInfo); 
console.log(Obj.Name)   
console.log(Obj.Age)

解释 :这里,变量 myInfo 存储了一个以对象形式的JSON字符串,其中包含Name、age、Department和Year这四个属性。我们使用JSON.parse()来解析该字符串,并将其转换为一个全新的对象。变量 obj 存储了这个解析后的对象,我们可以使用点操作符访问这些对象的属性。

输出

GFG
22

JSON.stringify()方法与JSON.parse()方法的区别:

JSON.stringify()方法 JSON.parse()方法
将JavaScript对象转换为JSON字符串。 将JSON字符串转换为JavaScript对象。
字符串必须用双引号包裹。例:”String”。 字符串不需要用双引号包裹。
在向Web服务器发送数据时,数据必须是字符串格式。 从Web服务器接收数据时,数据必须是字符串。
键必须是带有双引号的字符串。 键可以是任何类型,如字符串、数字或字符,但对象必须用引号包裹,即'{键: 值}’。
它可以接受2个额外的(可选的)参数,即value、replacer和space,例如JSON.stringify(value, replacer, space)。 它可以接受一个额外的(可选的)参数,即reviewer,例如JSON.parse(value, reviewer)。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程