在 ES 模块(Node.js)中导入 JSON 文件

JavaScript05

在 ES 模块(Node.js)中导入 JSON 文件,第1张

Node.js 文档建议使用 fs 模块并自己完成读取文件和解析的工作。

这种方法比起我们接下来用的第二种方法更容易理解。

我们还可以使用 createRequire 加载 JSON 文件。

createRequire 允许您构造 CommonJS require 方法,以便可以使用典型的 CommonJS 功能,例如在 Node.js 中读取 JSON ES 模块。

前两种的区别:

JSON 模块已经存在于 Chrome 91,它看起来就像一个 ES Modules 风格的导入,只是你在最后设置了类型。

当 Chrome 中有解决方案时,它很快就会在 Node.js 中发布。

nodejs 读json文件

var fs=reauire('fs')

var file="d:\\0.json"

var result=JSON.parse(fs.readFileSync( file))

//操作对象

nodejs 写json文件

var coors = {}

coors.left_top = {}

coors.right_top = {}

coors.left_bottom = {}

coors.right_bottom = {}

//填充coors中内容

var filename = "d:\\coors\\0.json"

fs.writeFileSync(filename, JSON.stringify(coors))

//对象嵌套

var fs = require('fs')

var fileDirectory = "D:\\column"

var newfileDirectory = "d:\\new"

if (fs.existsSync(fileDirectory)) {

var files = fs.readdirSync(fileDirectory)

for (var i = 0i <files.lengthi++) {

var filePath = fileDirectory + "/" + files[i]

var newfilepath = newfileDirectory + "/" + files[i]

var filestr = JSON.parse(fs.readFileSync(filePath))

for (var item in filestr) {

var inter=filestr[item]

for(var m in inter)

{

inter[m]=parseFloat(inter[m])

}

fs.writeFileSync(newfilepath, JSON.stringify(filestr))

}

}

} else {

console.log(fileDirectory + " Not Found!")

}

使用node.js生成json数据代码如下:

var http = require('http')

var data = {key: 'value', hello: 'world'}

var srv = http.createServer(function (req, res) {

  res.writeHead(200, {'Content-Type': 'application/json'})

  res.end(JSON.stringify(data))

})

srv.listen(8080, function() {

  console.log('listening on localhost:8080')

})