JSON errors can break APIs, apps, and configs silently. Learn JSON syntax, common mistakes, how to validate and format JSON, and best practices for working with JSON data.
What Is JSON?
JSON (JavaScript Object Notation) is a lightweight, text-based data format used to store and exchange data. Originally derived from JavaScript, it's now language-agnostic and used across virtually every programming ecosystem — from Python and PHP to Go, Ruby, and Java.
JSON's appeal is its simplicity. It's both human-readable and machine-parseable, making it the dominant format for APIs, configuration files, and data storage.
JSON Syntax Basics
JSON is built on two structures: objects and arrays.
Objects
An object is a collection of key-value pairs enclosed in curly braces:
{
"name": "Alice",
"age": 30,
"isAdmin": false,
"address": null
}
Keys must be strings in double quotes. Values can be: strings, numbers, booleans (true/false), null, objects, or arrays.
Arrays
An array is an ordered list of values enclosed in square brackets:
["apple", "banana", "cherry"]
Arrays can contain any mix of value types, including nested objects:
[
{"id": 1, "name": "Alice"},
{"id": 2, "name": "Bob"}
]
Common JSON Errors
1. Using Single Quotes Instead of Double Quotes
JSON requires double quotes for strings and keys. Single quotes are not valid JSON.
// WRONG (JavaScript, not JSON)
{'name': 'Alice'}
// CORRECT (JSON)
{"name": "Alice"}
2. Trailing Commas
JSON does not allow trailing commas after the last item in an object or array.
// WRONG
{
"name": "Alice",
"age": 30, ← trailing comma — invalid!
}
// CORRECT
{
"name": "Alice",
"age": 30
}
3. Unquoted Keys
Unlike JavaScript objects, JSON requires all keys to be quoted strings.
// WRONG
{name: "Alice"}
// CORRECT
{"name": "Alice"}
4. Comments
JSON does not support comments. Adding them will break JSON parsers.
// WRONG — this is not valid JSON
{
// User information
"name": "Alice"
}
5. Numbers with Leading Zeros
Numbers in JSON cannot have leading zeros (except for 0 itself).
// WRONG
{"postcode": 07501}
// CORRECT
{"postcode": "07501"} // treat as string if needed
Why JSON Formatting Matters
Raw JSON from an API or minified config file is often a single long line, making it nearly impossible to read and debug. Formatting (also called "pretty-printing") adds indentation and line breaks to make the structure visible.
Compare:
Minified:
{"user":{"id":1,"name":"Alice","roles":["admin","editor"],"settings":{"theme":"dark","notifications":true}}}
Formatted:
{
"user": {
"id": 1,
"name": "Alice",
"roles": ["admin", "editor"],
"settings": {
"theme": "dark",
"notifications": true
}
}
}
Formatting makes it immediately clear where each property is and what structure the data has — essential when debugging.
How to Validate and Format JSON Online
Our free JSON Formatter and Validator tool lets you:
- Paste any JSON and instantly check if it's valid
- See clear error messages pointing to exactly where a syntax error is
- Format (pretty-print) JSON with proper indentation
- Minify JSON to a single line for storage or transmission
No signup, no upload — all processing happens in your browser.
JSON Best Practices
- Use consistent naming conventions — camelCase is the most common convention for JSON keys (
firstName, notfirst_nameorFirstName) - Be explicit about data types — don't use strings for numbers or booleans if the value is truly numeric or boolean
- Use null for missing values — rather than omitting a key entirely, use
nullto make the structure consistent - Keep nesting shallow — deeply nested JSON is hard to work with; consider flattening structures where possible
- Validate before parsing — always validate incoming JSON data, especially from external APIs, before using it in your application
Conclusion
JSON is everywhere in modern development — APIs, config files, databases, and data exchange. Understanding its syntax rules and knowing how to quickly validate and format JSON data is an essential skill. Bookmark our free JSON Formatter and Validator for quick debugging whenever you're working with JSON.