JSON in JavaScript
JSON (JavaScript Object Notation) is a lightweight data interchange format that's easy for humans to read and write, and easy for machines to parse and generate.
🤔 What is JSON?
JSON is a text-based data format following JavaScript object syntax, but it's language-independent. It's commonly used for transmitting data in web applications.
- Text-based - Easy to read and write
- Language-independent - Works with any programming language
- Lightweight - Minimal syntax overhead
- Standardized - RFC 8259 specification
💡 JSON Syntax Rules
- Data is in name/value pairs
- Data is separated by commas
- Curly braces hold objects
- Square brackets hold arrays
- Strings must use double quotes
What JSON Doesn't Support
Functions, dates, undefined, Infinity, NaN, and comments are not valid JSON. They need special handling when converting.
📝 JSON Basics: Parse & Stringify
The two main JSON methods in JavaScript: JSON.parse() and JSON.stringify()
Key Methods:
JSON.parse(text)- Converts JSON string to JavaScript objectJSON.stringify(value)- Converts JavaScript object to JSON stringJSON.stringify(value, replacer, space)- With formatting options
🔧 Advanced Parse & Stringify
Using replacer and reviver functions for custom serialization.
Replacer Function:
Controls what gets stringified and can transform values
Reviver Function:
Transforms values when parsing JSON string back to object
✅ JSON Validation
Validating JSON strings and implementing schema validation.
Common JSON Errors:
- Missing quotes around property names
- Trailing commas
- Single quotes instead of double quotes
- Comments (not allowed in JSON)
- Missing closing brackets/braces
💾 Practical Example: Storage Manager
Building a storage manager that uses JSON for local storage operations.
💡 Real-world Uses:
- API request/response data
- Configuration files
- Local storage/session storage
- Data persistence
- Inter-process communication
- Log files
🔍 Deep JSON Operations
Advanced utilities for working with deep/nested JSON structures.
Deep Operation Utilities:
deepGet- Safely access nested propertiesdeepSet- Set values in nested pathsdeepMerge- Merge nested objectsjsonDiff- Find differences between objects
Next Steps
Now that you understand JSON, learn how to use LocalStorage and SessionStorage for client-side data persistence.