Exercise 4: Safe JSON Parse
Problem Statement
Create a function `safeJsonParse(str)`. Return null for invalid input.
Sample Output:
safeJsonParse('{"a":1}') => {a: 1}
safeJsonParse('invalid') => null
safeJsonParse('[1,2,3]') => [1, 2, 3]Solution
const safeJsonParse = (str) => {
try { return JSON.parse(str); } catch { return null; }
};Explanation
Overall Goal:
- JSON string ko safely parse karna.
- Invalid JSON handle karna (error avoid).
Solution:
const safeJsonParse = (str) => { try { return JSON.parse(str); } catch { return null; } };
Line 1: Function header
const safeJsonParse = (str) => {→ function jo JSON string lega.
Line 2: Try block
try { return JSON.parse(str); }try→ error handling: agar code me error aaye to catch block me jayega.JSON.parse(str)→ JSON string ko JavaScript object me convert karta hai:- Valid JSON ho → object/array return.
- Invalid JSON ho → error throw karta hai.
Line 3: Catch block
catch { return null; }- Agar try block me error aaya (invalid JSON) → catch block execute.
return null→ error case me null return.
Example:
safeJsonParse('{"a":1}')→{a: 1}(success).safeJsonParse('invalid')→null(error, catch block).
Real world:
- localStorage reads: stored data corrupt ho sakta hai.
- API caching: cached JSON invalid ho sakta hai.
- Form submissions: user input validate karna.