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.