dynamic-json-generator
is an npm package that allows front-end developers to easily generate dynamic, fake JSON data for testing purposes. The package uses @faker-js/faker
to provide realistic data for a variety of common use cases.
Install the package via npm:
npm install dynamic-json-generator
Import the package in your project and use the generateJson and generateMultipleJson functions to create fake JSON data based on a given template.
// Import CommonJS (require)
const { generateJson, generateMultipleJson } = require('dynamic-json-generator');
// Import ES Modules (import)
import { generateJson, generateMultipleJson } from 'dynamic-json-generator';
// Define a template
const userTemplate = {
id: 'uuid',
name: 'fullName',
address: {
street: 'street',
city: 'city',
},
};
const postTemplate = {
id: 'uuid',
title: 'title',
body: 'body',
userId: 'uuid',
image: 'image',
};
// Generate a single JSON object (English locale)
const singleJsonEn = generateJson(userTemplate);
console.log(singleJsonEn);
// Generate multiple JSON objects (English locale)
const multipleJsonEn = generateMultipleJson(userTemplate, 20);
console.log(multipleJsonEn);
// Generate a single JSON object (Burmese locale)
const singleJsonMm = generateJson(userTemplate, 'mm');
console.log(singleJsonMm);
// Generate multiple JSON objects (Burmese locale)
const multipleJsonMm = generateMultipleJson(userTemplate, 20, 'mm');
console.log(multipleJsonMm);
Generates a single JSON object based on the provided template.
- template: An object where keys are field names and values are Faker data types (e.g., 'uuid', 'name', 'email').
- locale (optional): The locale to use for generating data. Can be 'en' for English (default) or 'mm' for Burmese.
- Returns an object with generated fake data.
Generates multiple JSON objects based on the provided template.
- template: An object where keys are field names and values are Faker data types (e.g., 'uuid', 'name', 'email').
- count: The number of JSON objects to generate.
- locale (optional): The locale to use for generating data. Can be 'en' for English (default) or 'mm' for Burmese.
- Returns an array of objects with generated fake data.
You can create nested templates to generate complex JSON structures. The following Faker data types are supported:
- uuid
- title
- image
- description
- body
- message
- fullName
- street
- city
- person.jobTitle
- date.past
- lorem.sentence
- image.url
- image.avatar
- other types from @faker-js/faker
You can create other types as needed.
The package supports two locales:
- 'en': English (default)
- 'mm': Burmese
To generate data in Burmese, pass 'mm' as the locale parameter to generateJson or generateMultipleJson.
This project is licensed under the ISC License.
Contributions are welcome! Please open an issue or submit a pull request for any bugs or improvements.