2016-05-27 9 views
-1

私のファイルにいくつかのフィールドを使用するために構成ファイルを作成しようとしています。他のファイルからjson stuctureにアクセス

ので、設定ファイル(myconfig.json)中:別のjsファイルで

var fs = require('fs'); 
var path = require('path'); 

var Struct = { 

    FIELD: 1 

}; 

var Data = JSON.stringify(Struct); 

fs.writeFile(__dirname + '/myconfig.json', Data, function (err) { 

    if (err) { 

     console.log('There has been an error.'); 
     console.log(err.message); 
     return; 
     } 

    console.log('Configuration saved successfully.') 
}); 

var path = require('path'); 
var fs = require('fs'); 


var Data = fs.readFileSync(__dirname + '/myconfig.json'); 


console.log("res = ", Data.FIELD); 

が、それはundefinedを印刷します。

答えて

0

エラーは、最初のコードがjsonファイルではなくjavascriptファイルであるというエラーです。

だから、私はmyconfig.jsonを持っている必要があります。

{ 

    "FIELDS" : 1 
} 

と使用:

var Data = JSON.parse(fs.readFileSync('./myconfig.json'));

1

JSON.parse(Data)(これは現時点では文字列です)。

+0

:私はそれを文字列化しても、すでにオブジェクトです。とにかく、If私は構文解析しようとすると、SyntaxError:位置0のJSONで予期しないトークン/を返す{ }と 'undefined:1 /* ^ 'と私は上記のコードに '/ *'記号がありません〜 – George

+0

JSON.stringはオブジェクトを文字列に変換し、JSON.parseは文字列をオブジェクトに戻します。検証するDataオブジェクトに対してconsole.logを実行します。 – Lee

+0

:わかりましたが、私に 'JSON.parse(Data) 'と言ったように私には上記のエラーがあります。 – George

-1

あなただけのファイルから戻ってJSONを取得するためにrequireを使用することができます。

var Data = require(__dirname + '/myconfig.json'); 
console.log("res = ", Data.FIELD); 
関連する問題