You hit an API… and boom 💥 you get a long JSON response.
Now what?
If you don’t know how to convert JSON into usable JavaScript data (and back), you’ll feel stuck pretty quickly.
That’s where JSON.parse() and
JSON.stringify() come in — two
small methods that power almost every real-world JS app.
Let’s break it down the way developers actually use it.
⚡ What is JSON in JavaScript?
JSON (JavaScript Object Notation) is just a string format used to store and transfer data.
Example JSON:
{
"name": "John",
"age": 25,
"isDeveloper": true
}
Important:
👉 JSON is a string format,
not a JavaScript object
👉 To use it in JS, you must convert it
🔎 JSON.parse() – Convert JSON to JavaScript Object
When you receive data (from APIs, localStorage, etc.), it usually comes as JSON.
To use it:
const jsonString = '{"name": "John", "age": 25}';
const user = JSON.parse(jsonString);
console.log(user.name); // John
What’s happening?
- Input → JSON string
- Output → JavaScript object
Now you can access properties like normal JS.
📤 JSON.stringify() – Convert Object to JSON String
When sending data to a server, you must convert it into JSON format.
const user = {
name: "John",
age: 25
};
const jsonString = JSON.stringify(user);
console.log(jsonString);
Output:
{"name":"John","age":25}
What’s happening?
- Input → JavaScript object
- Output → JSON string
This is required for APIs and storage.
🔥 Practical Example: API + JSON
const apiUrl = "https://jsonplaceholder.typicode.com/users/1";
async function getUser() {
const response = await fetch(apiUrl);
const data = await response.json(); // internally uses JSON.parse()
console.log(data);
}
👉 Important insight:
-
response.json()automatically parses JSON - You don’t need to manually call JSON.parse() here
💾 Example: Using localStorage
Saving data
const user = { name: "John", age: 25 };
localStorage.setItem("user", JSON.stringify(user));
Reading data
const storedUser = JSON.parse(localStorage.getItem("user"));
console.log(storedUser.name);
👉 Without stringify/parse → your data breaks.
💡 Real Developer Insight
One common real-world issue:
👉 APIs always send JSON, but browsers work with objects
So your workflow is usually:
API → JSON → parse → use in app
App → object → stringify → send/store
Also:
👉 If parsing fails, your app crashes — so always be careful with unknown data.
⚠️ Common Developer Mistakes
1️⃣ Parsing already parsed data
response.json(); // already parsed
JSON.parse(data); // ❌ wrong
2️⃣ Forgetting stringify before storage
localStorage.setItem("user", user); // ❌ wrong
3️⃣ Invalid JSON format
'{name: "John"}' // ❌ keys must be in quotes
4️⃣ Not handling parse errors
JSON.parse(invalidData); // can crash your app
🚀 Best Practice Summary
✅ Use JSON.parse() only
when working with JSON strings
✅ Use
JSON.stringify() before
sending or storing data
✅ Avoid parsing data that is already a JavaScript object
✅ Always validate or trust your JSON source before parsing
✅ Use try/catch when parsing unknown or external data
0 Comments