A versatile JSON utility package with features like jsonify, xmlToJson, masking, validation, flattening, transformation, and more.
npm install quick-jsonifybash
npm install quick-jsonify
`
Features
1. jsonify - Convert an object to a JSON string with customizable options.
2. getSummary - Get a summary of the JSON data structure.
3. validate - Validate JSON data against a schema.
4. sortObjectKeys - Sort the keys of a JSON object.
5. flattenObject - Flatten a nested JSON object.
6. unflattenObject - Unflatten a flattened JSON object.
7. deepClone - Create a deep clone of a JSON object.
8. prettyPrint - Print a JSON object in a formatted way with optional highlights.
9. transformValues - Transform values in a JSON object using a custom function.
10. transformKeys - Transform the keys of a JSON object (e.g., camelCase).
11. mergeJsonObjects - Merge multiple JSON objects into one.
12. filterJsonKeys - Filter a JSON object to include only specified keys.
13. generateSampleJson - Generate a sample JSON object with specified keys.
14. jsonToXml - Convert a JSON object to an XML string.
15. deepFreeze - Make a JSON object immutable.
16. maskSensitiveData - Mask sensitive data in a JSON object.
17. addCommentsToJson - Add comments to a JSON object.
Usage/Example
1. jsonify\
Convert an object to a JSON string with customizable options.
`javascript
const { jsonify } = require('quick-jsonify');
const data = { name: "John", age: 30, city: "New York" };
const options = { indent: 2, highlight: true };
console.log(jsonify(data, options));
`
2. getSummary\
Get a summary of the JSON data structure.
`javascript
const { getSummary } = require('quick-jsonify');
const data = { name: "John", age: 30, city: "New York" };
console.log(getSummary(data));
// Output: { type: 'object', properties: 3 }
`
3. validate\
Validate JSON data against a schema.
`javascript
const { validate } = require('quick-jsonify');
const data = { name: "John", age: "30" };
const schema = { name: "string", age: "number" };
console.log(validate(data, schema));
// Output: { valid: false, errors: [{ key: 'age', expectedType: 'number', actualType: 'string' }] }
`
4. sortObjectKeys\
Sort the keys of a JSON object.
`javascript
const { sortObjectKeys } = require('quick-jsonify');
const data = { b: 2, a: 1, c: 3 };
console.log(sortObjectKeys(data));
// Output: { a: 1, b: 2, c: 3 }
`
5. flattenObject\
Flatten a nested JSON object.
`javascript
const { flattenObject } = require('quick-jsonify');
const data = { a: { b: { c: 1 } } };
console.log(flattenObject(data));
// Output: { 'a.b.c': 1 }
`
6. unflattenObject\
Unflatten a flattened JSON object.
`javascript
const { unflattenObject } = require('quick-jsonify');
const data = { 'a.b.c': 1 };
console.log(unflattenObject(data));
// Output: { a: { b: { c: 1 } } }
`
7. deepClone\
Create a deep clone of a JSON object.
`javascript
const { deepClone } = require('quick-jsonify');
const data = { name: "John", age: 30 };
const clone = deepClone(data);
clone.name = "Jane";
console.log(data.name); // Output: John
console.log(clone.name); // Output: Jane
`
8. prettyPrint\
Print a JSON object in a formatted way with optional highlights.
`javascript
const { prettyPrint } = require('quick-jsonify');
const data = { name: "John", age: 30 };
prettyPrint(data);
`
9. transformValues\
Transform values in a JSON object using a custom function.
`javascript
const { transformValues } = require('quick-jsonify');
const data = { name: "John", age: 30 };
const transformed = transformValues(data, value => (typeof value === "number" ? value * 2 : value));
console.log(transformed); // Output: { name: "John", age: 60 }
`
10. transformKeys\
Transform the keys of a JSON object (e.g., to camelCase).
`javascript
const { transformKeys } = require('quick-jsonify');
const data = { "first_name": "John", "last_name": "Doe" };
const transformed = transformKeys(data, "camelCase");
console.log(transformed); // Output: { firstName: "John", lastName: "Doe" }
`
11. mergeJsonObjects\
Merge multiple JSON objects into one.
`javascript
const { mergeJsonObjects } = require('quick-jsonify');
const obj1 = { a: 1 };
const obj2 = { b: 2 };
console.log(mergeJsonObjects(obj1, obj2));
// Output: { a: 1, b: 2 }
`
12. filterJsonKeys\
Filter a JSON object to include only specified keys.
`javascript
const { filterJsonKeys } = require('quick-jsonify');
const data = { name: "John", age: 30, city: "New York" };
console.log(filterJsonKeys(data, ["name", "city"]));
// Output: { name: "John", city: "New York" }
`
13. generateSampleJson\
Generate a sample JSON object with specified keys.
`javascript
const { generateSampleJson } = require('quick-jsonify');
console.log(generateSampleJson(["name", "age"], "default"));
// Output: { name: "default", age: "default" }
`
14. jsonToXml\
Convert a JSON object to an XML string.
`javascript
const { jsonToXml } = require('quick-jsonify');
const data = { name: "John", age: 30 };
console.log(jsonToXml(data));
// Output: John 30
`
15. deepFreeze\
Make a JSON object immutable.
`javascript
const { deepFreeze } = require('quick-jsonify');
const data = { name: "John", age: 30 };
deepFreeze(data);
data.age = 40; // This won't change the value
console.log(data.age); // Output: 30
`
16. maskSensitiveData\
Mask sensitive data in a JSON object.
`javascript
const { maskSensitiveData } = require('quick-jsonify');
const data = { name: "John", password: "secret" };
console.log(maskSensitiveData(data, ["password"]));
// Output: { name: "John", password: "*" }
`
17. addCommentsToJson\
Add comments to a JSON object.
`javascript
const { addCommentsToJson } = require('quick-jsonify');
const data = { name: "John", age: 30 };
const comments = { age: "Age in years" };
console.log(addCommentsToJson(data, comments, 2));
// Output:
// {
// "name": "John",
// "age": 30 // Age in years
// }
``