Borislav Hadzhiev
Last updated: Nov 3, 2021
Check out my new book
Use the JSON.stringify()
method to convert an object to a JSON string, e.g.
const json = JSON.stringify(obj)
. The method takes a value, converts it to a
JSON string and returns the result.
const obj = { name: 'Tom', country: 'Chile', }; // ✅ Convert to JSON const json = JSON.stringify(obj); console.log(json); // 👉️ '{"name": "Tom", "country": "Chile"}' // ✅ Parse back to Object const parsed = JSON.parse(json); console.log(parsed); // 👉️ {name: 'Tom', country: 'Chile'}
We used the JSON.stringify method to convert an object to a JSON string.
The only parameter we passed to the method is the object.
The JSON.stringify
method returns a string containing the JSON representation
of the object.
const json = JSON.stringify(obj); console.log(json); // 👉️ '{"name": "Tom", "country": "Chile"}' console.log(typeof json); // 👉️ "string"
If you need to convert the JSON string back to an object, use the JSON.parse()
method.
Note that undefined
, functions and Symbol
values are not valid JSON. If your
object contains any of them, they would get omitted when converting the object
to a JSON string.
const obj2 = { id: Symbol('test'), name: undefined, age: () => {}, }; console.log(JSON.stringify(obj2)); // 👉️ {}
If the object you're converting to a JSON string contains a circular reference,
you'd get a TypeError: cyclic object value
.
const obj = { name: 'Tom', country: 'Chile', }; obj.newName = obj; // 👇️ ERROR: Converting circular structure to JSON const json = JSON.stringify(obj);
Because we assigned the object's property to reference the object, we created a circular reference, which throws an exception when converted to JSON.