Javascript 获取Json表单本地文件

Javascript 获取Json表单本地文件,javascript,getjson,Javascript,Getjson,我正在一个小型服务器(NodeJS环境)上工作,从一个URL和一个本地文件获取JSON数据来比较它们 不幸的是,我正在使用“GetJSON”从url加载json表单并获取一些值 它不适用于本地文件 我也用“请求”试过了 var getJSON = require('get-json') var localpath = "./location/file.json" getJSON(localpath, function(data, allowed_content) { var a = all

我正在一个小型服务器(NodeJS环境)上工作,从一个URL和一个本地文件获取JSON数据来比较它们

不幸的是,我正在使用“GetJSON”从url加载json表单并获取一些值 它不适用于本地文件

我也用“请求”试过了

var getJSON = require('get-json')
var localpath = "./location/file.json"

getJSON(localpath, function(data, allowed_content) {
  var a = allowed_content[0].age;
  var b = allowed_content[1].age;
  var c = allowed_content[2].age;
  var d = allowed_content[5].age;
  var e = allowed_content[6].age;
});
我不明白为什么本地路径不工作。

您可以简单地使用函数

var localpath = "./location/file.json"
    fetch(localpath)
    .then(response => response.json())
    .then(json => {
      console.log(json);
    }); 

tl;dr不使用
get json
读取本地文件,而是使用
readFile

get json
用于网络请求,其文档称它在节点中封装了
请求
,并在浏览器上使用JSONP。 要读取本地文件,只需使用
readFile
readFileSync

var { readFileSync } = require("fs");
var localPath = "";
var localFile = readFileSync(localPath, "utf8"); // utf8 is opts and depends on your setup, the async version of readFile takes a callback as last argument
console.log(JSON.parse(localFile));

解决方案其实很简单:

var myvar = require('./filepath/myfile.json');
var a = myvar[0].age;
var b = myvar[1].age;
var c = myvar[2].age;
var d = myvar[5].age;
var e = myvar[6].age;

您是想在浏览器还是node.js环境中执行此操作?NodeJS环境中可能存在重复阅读:仅供参考,我删除了
local storage
标记,因为它指的是浏览器中的
localStorage
对象。它正在工作,现在我需要找出如何从该值中获取特定值。比如“允许的内容[6]。年龄”,我不确定我是否理解你。对字符串调用
JSON.parse
应返回一个JS对象(或抛出一个错误)。将输出命名为
allowed\u content
,您可以使用常规语法访问其所有属性。我需要JSON文件中的特定值。我会设法弄明白的。再次感谢你的帮助!啊,祝你好运。如果您有内存限制问题,您可能会对wich感兴趣,它是一个json流媒体库。如果我的回答可以,你能接受吗?