gpt4 book ai didi

javascript - 读取JSON文件的有效方法?

转载 作者:IT老高 更新时间:2023-10-28 23:27:16 28 4
gpt4 key购买 nike

我在 Nodejs 中看到了从本地读取 JSON 文件的不同方法。像这样;

  1. 方法

    使用 fs 库

    同步

    var fs = require('fs');
    var obj = JSON.parse(fs.readFileSync('file', 'utf8'));

    异步:

    var fs = require('fs');
    var obj;
    fs.readFile('file', 'utf8', function (err, data) {
    if (err) throw err;
    obj = JSON.parse(data);
    });

    来源:https://stackoverflow.com/a/10011078/7724032

  2. 方法

    使用 require()

    let data = require('/path/file.json');
  3. 方法

    使用 Ajax 请求 How to retrieve data from JSON file using Jquery and ajax?

可能还有其他方法。但是我听说使用方法 1 读取 JSON 文件时比其他方法更有效。

我正在开发一个模块,当每个客户端请求时我必须读取一个 JSON 文件,并且我当前使用方法 1。这是银行应用程序,性能很重要。所以帮我找到使用这个senario的好方法?

谢谢,任何帮助将不胜感激!

最佳答案

方法 3) 不在考虑之列,因为它将其他方法之一与网络请求相结合,因此您仍然必须选择其他方法之一。

我假设方法 2) 正在泄漏内存。如果您需要两次,NodeJS 将通过引用返回完全相同的内容:

 require("thing") === require("thing")

因此,如果您需要某个东西一次,它将永远留在内存中。如果你多次查找它会很快,但如果你有很多文件,它会填满内存。

现在只剩下方法 1),我会使用异步版本,因为它可以并行执行多个请求,如果您的服务器处于负载状态,它将优于同步方法。


我个人会选择选项 4):

将其存储在数据库中。数据库将数据加载到内存中以便更快地访问,并且它们是为处理大量文件而构建的。当您处理 JSON 时,Mongodb 将是一个不错的选择:

 const db = mongodb.collection("json");

function getFile() {
return db.findOne({ "name": "test" });
}

关于javascript - 读取JSON文件的有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54320511/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com