Development

JSON: Complete Guide for Developers

PH5 Team March 8, 2026 22 min read
JSON: Complete Guide for Developers

What is JSON?

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. It has become the de facto standard for data exchange on the web.

JSON Code

JSON Syntax Basics

JSON is built on two structures:

  • Objects: Collections of key-value pairs enclosed in curly braces {}
  • Arrays: Ordered lists of values enclosed in square brackets []

Basic Example

{
  "name": "John Doe",
  "age": 30,
  "isActive": true,
  "hobbies": ["reading", "coding", "gaming"],
  "address": {
    "street": "123 Main St",
    "city": "New York"
  }
}

Data Types in JSON

JSON supports six data types:

  • String: Text enclosed in double quotes "hello"
  • Number: Integer or floating-point 42, 3.14
  • Boolean: true or false
  • Null: Represents empty value null
  • Object: Collection of key-value pairs {}
  • Array: Ordered list of values []
Data Types

JSON vs XML

JSON has largely replaced XML for web APIs due to several advantages:

Feature JSON XML
Readability ✅ More concise ⚠️ More verbose
Parsing ✅ Faster ⚠️ Slower
Data Types ✅ Native support ⚠️ All strings
File Size ✅ Smaller ⚠️ Larger

Working with JSON in JavaScript

JavaScript provides built-in methods for working with JSON:

Parsing JSON

// Convert JSON string to JavaScript object
const jsonString = '{"name":"John","age":30}';
const obj = JSON.parse(jsonString);
console.log(obj.name); // "John"

Stringifying Objects

// Convert JavaScript object to JSON string
const obj = { name: "John", age: 30 };
const jsonString = JSON.stringify(obj);
console.log(jsonString); // '{"name":"John","age":30}'
JavaScript Code

JSON in APIs

JSON is the standard format for REST APIs. Here's a typical API response:

{
  "status": "success",
  "data": {
    "users": [
      {
        "id": 1,
        "name": "John Doe",
        "email": "john@example.com"
      },
      {
        "id": 2,
        "name": "Jane Smith",
        "email": "jane@example.com"
      }
    ]
  },
  "meta": {
    "total": 2,
    "page": 1
  }
}

JSON Schema

JSON Schema is a vocabulary for validating JSON data structure:

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "name": { "type": "string" },
    "age": { "type": "number", "minimum": 0 },
    "email": { "type": "string", "format": "email" }
  },
  "required": ["name", "email"]
}
API Development

Best Practices

  • Use consistent naming: camelCase or snake_case
  • Keep it flat: Avoid deep nesting when possible
  • Use arrays for lists: Even if there's only one item
  • Include metadata: Status codes, timestamps, pagination info
  • Handle errors gracefully: Return consistent error structures
  • Validate input: Use JSON Schema for validation
  • Pretty print for debugging: Use JSON.stringify(obj, null, 2)

Common JSON Errors

  • Trailing commas: Not allowed in JSON
  • Single quotes: Must use double quotes for strings
  • Undefined values: Use null instead
  • Comments: Not supported in standard JSON
  • Functions: Cannot be serialized

JSON Tools and Libraries

  • Validators: JSONLint, JSON Schema Validator
  • Formatters: Online JSON formatters, IDE extensions
  • Libraries: Jackson (Java), Gson (Java), json (Python)
  • Viewers: JSON Viewer browser extensions
Development Tools

Security Considerations

  • Validate all JSON input
  • Sanitize data before parsing
  • Set size limits for JSON payloads
  • Use HTTPS for transmitting JSON data
  • Avoid eval() for parsing JSON
  • Implement rate limiting for APIs

Conclusion

JSON is an essential technology for modern web development. Its simplicity, efficiency, and widespread support make it the ideal choice for data interchange. Master JSON fundamentals and best practices to build better APIs and applications.

Share this article: