当前位置: 首页 > 知识库问答 >
问题:

将本地JSON文件加载到变量中

陈成济
2023-03-14
var json = {
  id: "whatever",
  name: "start",
  children: [{
      "id": "0.9685",
      "name": " contents:queue"
    }, {
      "id": "0.79281",
      "name": " contents:mqq_error"
    }
  }]
}
var json = (function() {
  var json = null;
  $.ajax({
    'async': false,
    'global': false,
    'url': "/content.json",
    'dataType': "json",
    'success': function(data) {
      json = data;
    }
  });
  return json;
})();

共有1个答案

田琛
2023-03-14

正如这里所回答的,我的解决方案是使用:

    var json = require('./data.json'); //with path

文件只加载一次,进一步的请求使用缓存。

为了避免缓存,下面是注释中给出的blogpost的helper函数,使用fs模块:

var readJson = (path, cb) => {
  fs.readFile(require.resolve(path), (err, data) => {
    if (err)
      cb(err)
    else
      cb(null, JSON.parse(data))
  })
}
 类似资料:
  • 问题内容: 我正在尝试加载本地JSON文件,但无法正常工作。这是我的JavaScript代码(使用jQuery): test.json文件: 什么都没有显示,Firebug告诉我这是未定义的。在Firebug中,我可以看到它是好的且有效的,但是当我复制该行时,这很奇怪: 在Firebug的控制台中,它可以正常工作,并且我可以访问数据。 有人有解决方案吗? 问题答案: 是异步的,所以您应该这样做:

  • 大家好!我想做多朗登陆页。当您选择语言时,会出现select with LANGS,JS将文本替换为JSON文件中的另一个语言。但当我尝试加载JSON时,JSON和JS出现了问题。我读了很多指南,但没有任何帮助。我拥有的:有一个json文件-lang.json。以下是其中的一部分: 我有main.js文件,上面的JSON文件应该作为var导入。我使用了其他人的脚本:将本地JSON文件加载到变量中,

  • 问题内容: 我正在尝试加载本地JSON文件,但无法正常工作。这是我的JavaScript代码(使用jQuery: test.json文件: 什么都没有显示,Firebug告诉我数据未定义。在Firebug中,我可以看到它是好的且有效的,但是当我复制该行时,这很奇怪: 在Firebug的控制台中,它可以正常工作,并且我可以访问数据。 有人有解决办法吗? 问题答案: 是异步的,所以您应该这样做:

  • 问题内容: 我有一个React组件,我想从文件中加载JSON数据。即使我将变量 数据 创建为全局变量,控制台日志当前也不起作用 理想情况下,我希望这样做,但它不起作用-它尝试在文件名的末尾添加 “ .js” 。 最好的方式,最好是“反应”方式的任何建议,将不胜感激! 问题答案: 您正在打开一个异步连接,但是您已经编写了代码,就好像它是同步的一样。该回调函数将不会与你的代码同步执行(即前),但你的整

  • 我试图创建一个javascript变量从JSON文件的内容GunsList.json(两者都存储在我的机器上的同一个文件夹)。 我似乎遇到了OP在这篇文章中遇到的相同问题,当他纠正了有缺陷的JSON文件时,问题得到了解决。考虑到我也有同样的问题,我通过JSONLint运行了我的文件(我假设这是正确的验证),结果它完全恢复正常。 借用本文中的技巧,我尝试使用jQuery来完成它(注意:我在现有代码的