I was wondering if there is a way to set up a fake data (information) such as a name
and email
and have it stored in a JSON file.
I known faker can be used with node and NPM to create fake data in JS but what about with JSON?
I was wondering if there is a way to set up a fake data (information) such as a name
and email
and have it stored in a JSON file.
I known faker can be used with node and NPM to create fake data in JS but what about with JSON?
One more example generates ten users and writes them to a data.json
file.
employees.js
let faker = require('faker');
let fs = require('fs');
function generateEmployees() {
let employees = [];
for (let id = 1; id <= 10; id++) {
let firstName = faker.name.firstName();
let lastName = faker.name.lastName();
let email = faker.internet.email();
employees.push({
id: id,
first_name: firstName,
last_name: lastName,
email: email,
});
}
return { employees: employees };
}
module.exports = generateEmployees;
let dataObj = generateEmployees();
fs.writeFileSync('data.json', JSON.stringify(dataObj, null, '\t'));
$ json-server employees.js
Now you can click on the Resources link to see the result.
Inspired by @le_m, you can generate dummy data without using a for loop:
let faker = require('faker');
let fs = require('fs');
const generateEmployee = () => {
return {
id: faker.random.uuid(),
first_name: faker.name.firstName(),
last_name: faker.name.lastName(),
email: faker.internet.email(),
};
};
const generateEmployees = (numUsers) => {
return Array.from({ length: numUsers }, generateEmployee);
};
let dataObj = generateEmployees(10);
fs.writeFileSync('data.json', JSON.stringify(dataObj, null, '\t'));
Then, simply start your server using the following command:
$ node employees.js
var faker = require('faker');
var fs = require('fs');
var data = {};
data.name = faker.name.findName();
data.email = faker.internet.email();
fs.writeFile('data.json', JSON.stringify(data), (err) => {
if (err) throw err;
console.log('It\'s saved!');
});