JSON Validator
Validate, format, and fix JSON data with helpful error messages and suggestions.
When to Use This Skill
Use this skill when you need to:
- •Validate JSON syntax and structure
- •Format/prettify JSON data
- •Fix common JSON errors
- •Convert between JSON and other formats
- •Analyze JSON structure
Validation
When validating JSON:
- •Check syntax: Identify syntax errors with line numbers
- •Provide context: Show the problematic section
- •Suggest fixes: Offer specific corrections
- •Explain issues: Describe what's wrong and why
Common JSON Errors to Check
- •Missing or extra commas
- •Unclosed brackets/braces
- •Unquoted keys
- •Trailing commas (invalid in strict JSON)
- •Single quotes instead of double quotes
- •Comments (not allowed in JSON)
- •Undefined/NaN/Infinity values
Example Validation Output
code
❌ JSON Validation Failed
Line 5: Trailing comma after last object property
"name": "example",
"value": 123, ← Remove this comma
}
✅ Suggested fix:
{
"name": "example",
"value": 123
}
Formatting
When formatting JSON:
- •Use 2-space indentation (standard)
- •Sort keys alphabetically (optional, ask user)
- •Remove unnecessary whitespace
- •Ensure consistent structure
Example
Input (minified):
json
{"name":"test","items":[1,2,3],"active":true}
Output (formatted):
json
{
"name": "test",
"items": [
1,
2,
3
],
"active": true
}
Fixing Common Issues
Trailing Commas
json
// ❌ Invalid
{
"key": "value",
}
// ✅ Fixed
{
"key": "value"
}
Single Quotes
json
// ❌ Invalid
{'key': 'value'}
// ✅ Fixed
{"key": "value"}
Unquoted Keys
json
// ❌ Invalid
{key: "value"}
// ✅ Fixed
{"key": "value"}
Comments
json
// ❌ Invalid
{
// This is a comment
"key": "value"
}
// ✅ Fixed
{
"key": "value"
}
Conversion
When converting to/from JSON:
From JSON to other formats
- •YAML: Preserve structure, use proper indentation
- •TOML: Handle nested objects appropriately
- •CSV: Flatten structure if needed, handle arrays
- •XML: Choose appropriate tag names
To JSON from other formats
- •Ensure proper escaping
- •Validate the result
- •Maintain data types (strings, numbers, booleans, null)
Analysis
When analyzing JSON structure:
- •
Report schema:
- •Top-level type (object/array)
- •Key names and types
- •Nesting depth
- •Array sizes
- •
Identify patterns:
- •Repeated structures
- •Optional fields
- •Data types used
- •
Suggest improvements:
- •Inconsistent naming
- •Deep nesting issues
- •Large array optimization
Example Analysis
code
JSON Structure Analysis:
Type: Object
Keys: 3 (name, items, metadata)
Schema:
{
"name": string,
"items": array[3] of numbers,
"metadata": {
"created": string,
"updated": string
}
}
Depth: 2 levels
Total size: ~150 bytes
Best Practices
- •Always validate before formatting - Don't format invalid JSON
- •Show clear error messages - Include line numbers and context
- •Preserve data types - Don't convert numbers to strings unnecessarily
- •Handle edge cases - Empty objects, null values, Unicode characters
- •Ask before major changes - e.g., sorting keys, removing comments
Examples
Example 1: Validate and Fix
User request: "Validate this JSON and fix any errors"
Response:
code
Found 2 issues:
1. Line 3: Trailing comma after "name"
2. Line 5: Single quotes instead of double quotes
Here's the corrected JSON:
{
"name": "example",
"data": {
"value": 42
}
}
Example 2: Format
User request: "Format this JSON nicely"
Response:
json
{
"users": [
{
"id": 1,
"name": "Alice"
},
{
"id": 2,
"name": "Bob"
}
],
"total": 2
}
Example 3: Convert to YAML
User request: "Convert this JSON to YAML"
Response:
yaml
users:
- id: 1
name: Alice
- id: 2
name: Bob
total: 2