如何使用node.js将不同的json文件加载到不同的json对象中

时间:2016-04-26 06:57:28

标签: javascript json node.js

我是Json和node.js

的新手

我正在尝试使用node.js将我的json文件加载到jsonobject中。 但我无法这样做。

我创建了两个文件,一个是server.jsjsonresponse.json。我需要使用javascript或node.js在jsonresponse.json中创建的json对象中加载server.js。 这是server.js

的片段
var file = 'jsonresponse.json'
jsonfile.readFile(file, function(err, obj) {

       jsonObject = console.dir(obj);
 })

3 个答案:

答案 0 :(得分:3)

假设我的json数据位于myDirectry/data.json

//data.json
{
    "a":2,
    "b":3
}

所以我的myDirectory/app.js应该是。

var x=require('./data');//or require('data');
console.log(x);

为了阅读,只有require()已经足够,但您可以使用fs阅读。但最好的方法是require

答案 1 :(得分:1)

虽然以下代码将以过程方式为您提供对象,但您应该记住节点的异步行为。

   var jsonfile = require('jsonfile')
   var file = 'jsonresponse.json'
   var jsonObject = jsonfile.readFileSync(file)

当您从节点开始时,您应该熟悉callback pattern

在您提供的代码段中,文件正在回调中加载,您应该可以在该范围内访问。

   var file = 'jsonresponse.json';
   var jsonObject;
   jsonfile.readFile(file, function(err, obj) {
       //on success obj is the data therefore it holds the reference to contents of the file
       if(!err){
            jsonObject = obj;
       }
       else console.log(err);
   })
使用文件名和回调函数调用

jsonfile.readFile。一旦完成读取文件的任务,它就会调用带有2个参数的回调函数:errordata

如果没有问题,

error为空,否则它包含错误详细信息。

data包含函数想要返回的任何数据。

答案 2 :(得分:0)

如果您需要避免缓存(调用之间的文件更改),请执行此操作

var fs = require('fs')
var obj = JSON.parse(fs.readFileSync('myfile.json').toString())