2016-04-26 40 views
0

我是新來的Json加載不同的JSON文件到不同的JSON對象和Node.js的如何使用Node.js的

我想我的JSON文件加載到使用node.js中一個JSONObject 但我無法這樣做。

我創建了2個文件,一個是server.jsjsonresponse.json。我需要使用javascript或node.js加載在server.js中創建的json對象中的jsonresponse.json。 這是server.js

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

     jsonObject = console.dir(obj); 
}) 
+0

雖然非常值得一看手動讀取文件流與'fs'模塊和解析它自己。如果您需要()'json文件節點將爲您讀取並解析它。缺點是如果解析錯誤或讀取它會引發異常。 – ste2425

回答

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閱讀。

+0

謝謝你的作品! – Jatin

0

如果你需要避免緩存(調用之間文件的更改),這樣做

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

雖然下面的代碼會給你的程序的方式,你應該記住節點的異步行爲的對象。

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如果theres沒有問題,則爲null,否則它包含錯誤的詳細信息。

data包含函數想要返回的任何數據。