Open In App

How to JSON Stringify an Array of Objects in JavaScript ?

Last Updated : 16 Apr, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

In JavaScript, the array of objects can be JSON stringified for easy data interchange and storage, enabling handling and transmission of structured data. The below approaches can be utilized to JSON stringify an array of objects.

Using JSON.stringify with a Replacer Function

In this approach, we’re using JSON.stringify method with a replacer function to transform specific properties of objects during JSON serialization. Here, the replacer function checks if a property’s value is a string and converts it to uppercase.

Syntax:

JSON.stringify(value, [replacer, [space]])

Example: The below example uses JSON.stringify with a Replacer Function to JSON stringify an array of objects in JavaScript.

JavaScript
const data = [
    {
        language: 'JavaScript',
        category: 'Web Development'
    },
    {
        language: 'Python',
        category: 'Data Science'
    },
    {
        language: 'Java',
        category: 'Software Development'
    }
];
const res = JSON.stringify(data, (key, value) => {
    if (typeof value === 'string') {
        return value.toUpperCase();
    }
    return value;
});
console.log(res);

Output:

[
{"language":"JAVASCRIPT","category":"WEB DEVELOPMENT"},
{"language":"PYTHON","category":"DATA SCIENCE"},
{"language":"JAVA","category":"SOFTWARE DEVELOPMENT"}
]

Using a Custom Function for JSON Stringify

In this approach, we’re using a custom function approach2Fn to recursively stringify an array of objects, handling objects, arrays, and primitive values to construct a valid JSON string representation. The function checks the type of each item in the data and applies the stringify logic accordingly.

Syntax:

function customStringify(data) {
// code
return jsonString;
}

Example: The below example uses Custom Function for JSON Stringify to json stringify an array of objects in javascript.

JavaScript
const data = [
    {
        language: 'JavaScript',
        category: 'Web Development'
    },
    {
        language: 'Python',
        category: 'Data Science'
    },
    {
        language: 'Java',
        category: 'Software Development'
    }
];
const res = approach2Fn(data);
console.log(res);

function approach2Fn(data) {
    if (Array.isArray(data)) {
        const sArr = data.map
            (item => approach2Fn(item));
        return `[${sArr.join(',')}]`;
    } else if (typeof data === 'object' 
        && data !== null) {
        const sObj = Object.entries(data)
            .map(([key, value]) => 
                `"${key}":${approach2Fn(value)}`)
            .join(',');
        return `{${sObj}}`;
    } else {
        return JSON.stringify(data);
    }
}

Output:

[
{"language":"JAVASCRIPT","category":"WEB DEVELOPMENT"},
{"language":"PYTHON","category":"DATA SCIENCE"},
{"language":"JAVA","category":"SOFTWARE DEVELOPMENT"}
]


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads