JSON
JSON.stringify(obj) JavaScript object/array ko JSON STRING mein convert karta hai — APIs ko data bhejने, localStorage mein save karne ke liye. JSON.parse(jsonString) ulta karta hai — JSON string ko wapas JavaScript object mein.
JSON syntax JavaScript object literal jaisा dikhता hai, lekin STRICTER hai — property names hamesha double-quotes mein honi chahiye, trailing commas allowed nahi, functions/undefined JSON mein represent nahi ho sakte.
const user = {
name: "Aarav",
age: 20,
skills: ["JavaScript", "Python"]
};
const jsonString = JSON.stringify(user);
console.log(jsonString);
// '{"name":"Aarav","age":20,"skills":["JavaScript","Python"]}'
const parsedBack = JSON.parse(jsonString);
console.log(parsedBack.name); // "Aarav" — wapas normal object
// Pretty-printing (readable format, debugging ke liye):
console.log(JSON.stringify(user, null, 2)); // 2-space indentation- stringify() = object → JSON string, parse() = JSON string → object
- APIs, localStorage, config files — sabme JSON common format hai
- Functions/undefined JSON mein represent nahi ho sakte — silently skip hote hain
JSON.stringify(obj, replacer, space) — dusra parameter (replacer) specific keys ko filter/transform kar sakta hai, teesra (space) pretty-printing indentation control karta hai (debugging/readability ke liye).
const user = { name: "Aarav", password: "secret123", age: 20 };
// Sensitive data exclude karna:
const safe = JSON.stringify(user, ["name", "age"]); // sirf ye keys included
console.log(safe); // '{"name":"Aarav","age":20}'
// Pretty printing:
console.log(JSON.stringify(user, null, 2));
// {
// "name": "Aarav",
// ...
// }JSON.stringify() CIRCULAR references (jaha object khud ko, directly ya indirectly, reference karta hai) par ERROR throw karta hai — "Converting circular structure to JSON".
const obj = { name: "Aarav" };
obj.self = obj; // circular reference!
// JSON.stringify(obj); // ERROR: Converting circular structure to JSON
// Modern fix — structuredClone() circular references handle kar sakta hai:
const cloned = structuredClone(obj); // JSON.stringify() se better yaha