| name | json-validator |
| description | Validate, format, and fix JSON data. Use this skill when working with JSON files, API responses, or configuration files that need validation or formatting. |
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
❌ 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):
{"name":"test","items":[1,2,3],"active":true}
Output (formatted):
{
"name": "test",
"items": [
1,
2,
3
],
"active": true
}
Fixing Common Issues
Trailing Commas
// ❌ Invalid
{
"key": "value",
}
// ✅ Fixed
{
"key": "value"
}
Single Quotes
// ❌ Invalid
{'key': 'value'}
// ✅ Fixed
{"key": "value"}
Unquoted Keys
// ❌ Invalid
{key: "value"}
// ✅ Fixed
{"key": "value"}
Comments
// ❌ 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
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:
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:
{
"users": [
{
"id": 1,
"name": "Alice"
},
{
"id": 2,
"name": "Bob"
}
],
"total": 2
}
Example 3: Convert to YAML
User request: "Convert this JSON to YAML"
Response:
users:
- id: 1
name: Alice
- id: 2
name: Bob
total: 2