欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

如何用 JavaScript 读写和解析 JSON

最编程 2024-04-23 09:13:36
...

JSON的全称是JavaScript Object Notation,它源于JavaScript编程语言。一种定义结构化数据的标准文本格式是基于JavaScript对象语法的。网络应用中的数据传输是通过JSON进行的。你听说过JavaScript对象字面语法吗?是的,JSON与它很相似。我们并不局限于总是用JavaScript来使用它。

JSON与JavaScript。如何比较它们?

JSON看起来像JavaScript,这一点并不含糊,但是,最简单的方法是把JSON看作是一种数据格式,与文本文件相似。由于JSON受到JavaScript语法的启发,这就是它们看起来相似的原因。

JSON的特点

  • 用羽毛状的格式来交换数据
  • 被写成JavaScript对象符号的纯文本
  • 通过JSON实现在计算机之间发送数据的目的。
  • 它是独立于语言的,所以在JSON的情况下,你不必担心语言的兼容问题。

JSON的格式

JSON格式完全是基于文本的,它来自于JavaScript对象语法。当你处理JSON时,你肯定会处理.json文件,那是JSON对象被放置的地方,但它们也可以作为JSON对象或字符串存在于程序的背景中。

每当你处理一个.json文件时,你会看到以下内容。

{
 "firstName": "John",
 "lastName": "Doe",
 "Online": true
}

如果,你正在与一个放置了JSON对象的.js或.html文件进行交互,你会看到以下内容。

字符串形式的JSON

var userName = '{"firstName": "John",
"lastName": "Doe",
"location": "New York"}';

如何在JavaScript中读/写文件

Nodejs为我们提供了一个模块,它有一堆的功能,如读文件、写文件等。它还有很多其他的工具,可以帮助我们在文件系统中工作。它被称为 "browserify-fs"。

现在我们知道 "browserify-fs "是什么了,让我们来安装它。在你的编辑器中使用以下命令来安装 "browserify-fs"。

> npm install browserify-fs

安装成功后,在需要的程序中导入 browserify-fs 模块。现在我们可以使用不同的功能来写入文本或从文件中读取文本。

现在,我们可以通过将 "browserify-fs "导入我们的JavaScript文件中,以如下方式使用它。

const fileSystem = require("browserify-fs")

如果您想了解更多关于如何在 javaScript 中导入库的信息,请访问我们的专门文章。

先决条件。 [如何在 JavaScript 中导入一个库]

一旦你成功导入了browserify-fs库,让我们开始阅读一个JSON文件。

如何读取JSON文件

假设我们有一个client.json文件,我们想读取它。

//client.json
{
 "Name": "Mini Corp.",
 "Order_count": 83,
 "Address": "Little Havana"
}

现在,我们将利用 fileSystem.readFile() 从 client.json 文件加载数据。我们将简单地传递文件的路径,并接收数据,这是一个回调函数。

const fileSystem = require("browserify-fs")

fileSystem.readFile("./client.json", (err, data) => {
 if(err) {
   console.log("File reading failed", err)
   return
 }
 console.log("File data:", data)
})

文件的内容在被成功读取后将被传递给回调函数。

现在,为了将获取的数据解析为纯JSON格式,将使用JSON.parse()方法,最终的代码是这样的。

const fileSystem = require("browserify-fs")

fileSystem.readFile("./client.json", (err, data) => {
 if(err) {
   console.log("File can't be read", err)
   return
 }
 try{
   const client = JSON.parse(data)
   console.log("client data is:", client)
 }
 catch(err) {
   console.log("Error parsing JSON string:", err)
 }
})

一旦你执行上述提供的代码,JSON数据将被读取并显示在控制台,正如我们所期望的那样。

如何写一个JSON文件

对于以异步方式写入数据,我们将使用fileSystem.writeFile()方法。如果我们想用JavaScript在JSON文件中写一些东西,我们首先需要使用JSON.stringify方法将数据转换成JSON字符串。

这个方法将把一个JavaScript对象转换为一个JSON字符串,可以写入一个文件。

const fileSystem = require("browserify-fs")

const client = {
 "Name": "Mini Corp.",
 "Order_count": 83,
 "Address": "Little Havana"
}
const data = JSON.stringify(client)

console.log(data)

以上,一个带有我们数据的客户端对象已经被创建,然后变成了一个字符串。

现在,我们将简单地编写fileSystem.writeFile()方法,将JSON数据写入newClient.json文件中。

  
const fileSystem = require("browserify-fs")

const client = {
 "Name": "Mini Corp.",
 "Order_count": 83,
 "Address": "Little Havana"
}
const data = JSON.stringify(client)

fileSystem.writeFile("./newClient.json", data, err=>{
 if(err){
   console.log("Error writing file" ,err)
 } else {
   console.log('JSON data is written to the file successfully')
 }
})

这就是我们如何使用fileSystem.writeFile()函数写入一个JSON文件。

如何将一个字符串解析为JSON

在JavaScript以及JSON术语中,解析指的是JSON字符串被解析,然后转换为JavaScript值或字符串描述的对象的想法。在返回结果对象之前,可以对其进行转换。

就像我们之前从JSON文件中读取数据的例子一样,我们只是从文件中获取数据,它是以字符串的形式存在。在获取数据后,我们将该字符串解析为JSON,如下图所示。

假设我们有一些字符串格式的JSON数据。

所以这就是如何使用JSON.parse()方法,将字符串解析成JSON格式。

如何将JSON解析为字符串

同样地,要将JSON解析成字符串,需要使用JSON.stringify()方法。

const client = {
 "Name": "Mini Corp.",
 "Order_count": 83,
 "Address": "Little Havana"
}
const data = JSON.stringify(client)

console.log(data)

所以这就是如何使用JSON.stringify()方法,将JSON解析成字符串格式。

结论

写这篇文章的目的是为了提供一个完整的解释和彻底的描述,说明如何在javascript中轻松地读、写和解析JSON文件。我们能够总结出这样一个事实:通过fileSystem.readFile和fileSystem.writeFile可以轻松实现读写功能。

我们讨论了这两个组件的相关功能,并解释了我们如何通过使用这些功能进行操作。然后我们精确地解释了解析JSON方法的方法。

因此,我们能够提供在JavaScript中读、写和解析JSON方法所需的所有必要的重要细节。