Есть 2 вещи, которые идут не так в вашем коде
fs.readFile
возвращает содержимое файла как string
, поэтому вам необходимо сначала проанализировать содержимое, если содержимое JSON
, а затем вы можете получить доступ к ключам и значениям в нем
Вы получаете доступ к name
в data
, который недоступен в объекте JSON. Вы должны указать имя ключа, хранящееся в переменной, передав его в квадратных скобках, а не dot(.)
, например data[name]
Прикрепленный код для справки:
var fs = require('fs');
function find(name, cb){
fs.readFile('./db.json', 'utf8', function(err, data){
if(err) return cb(err)
data = JSON.parse(data);
cb(null, data[name]);
});
}
find('student', function(err, data){
console.log(data);
})