JavaScript How to Convert Object to JSON String
Use
JSON.stringify(yourObject) to convert a JavaScript object into a JSON string.Examples
Input{"name":"Alice"}
Output"{\"name\":\"Alice\"}"
Input{"age":30,"city":"New York"}
Output"{\"age\":30,\"city\":\"New York\"}"
Input{}
Output"{}"
How to Think About It
To convert an object to a JSON string, think of turning the object's data into a text format that can be saved or sent. JavaScript provides a built-in tool called
JSON.stringify that takes the object and returns its string form.Algorithm
1
Get the JavaScript object you want to convert.2
Use the <code>JSON.stringify</code> function with the object as input.3
Receive the JSON string output representing the object.Code
javascript
const obj = { name: "Alice", age: 30 }; const jsonString = JSON.stringify(obj); console.log(jsonString);
Output
{"name":"Alice","age":30}
Dry Run
Let's trace converting { name: "Alice", age: 30 } to a JSON string.
1
Start with object
{ name: "Alice", age: 30 }
2
Apply JSON.stringify
JSON.stringify({ name: "Alice", age: 30 })
3
Get JSON string
"{\"name\":\"Alice\",\"age\":30}"
| Step | Action | Value |
|---|---|---|
| 1 | Input object | { name: "Alice", age: 30 } |
| 2 | Convert with JSON.stringify | "{\"name\":\"Alice\",\"age\":30}" |
Why This Works
Step 1: What JSON.stringify does
JSON.stringify takes an object and turns it into a string that looks like JSON format.
Step 2: Why convert to string
Strings can be saved to files, sent over the internet, or logged, unlike objects.
Step 3: Result format
The output string uses quotes and braces to represent the object structure in text form.
Alternative Approaches
Manual string building
javascript
const obj = { name: "Alice", age: 30 }; const jsonString = '{"name":"' + obj.name + '","age":' + obj.age + '}'; console.log(jsonString);
This works only for simple objects and is error-prone; not recommended for complex objects.
Using a library like Lodash (for deep cloning and then stringify)
javascript
import _ from 'lodash'; const obj = { name: "Alice", age: 30 }; const cloned = _.cloneDeep(obj); const jsonString = JSON.stringify(cloned); console.log(jsonString);
Useful if you want to safely clone before converting, but adds dependency and complexity.
Complexity: O(n) time, O(n) space
Time Complexity
JSON.stringify processes each property in the object once, so time grows linearly with object size.
Space Complexity
The output string size depends on the object size, so space used is proportional to input size.
Which Approach is Fastest?
JSON.stringify is optimized and fastest for converting objects to JSON strings compared to manual methods.
| Approach | Time | Space | Best For |
|---|---|---|---|
| JSON.stringify | O(n) | O(n) | All object sizes, reliable conversion |
| Manual string building | O(n) | O(n) | Very simple objects, not recommended |
| Using Lodash cloneDeep + stringify | O(n) | O(n) | When cloning needed before conversion |
Always use
JSON.stringify for reliable and easy object to JSON string conversion.Trying to convert objects by concatenating strings manually instead of using
JSON.stringify.