Marketplace json-validator
Validate, format, and fix JSON data. Use this skill when working with JSON files, API responses, or configuration files that need validation or formatting.
install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/alon2904/json-validator" ~/.claude/skills/aiskillstore-marketplace-json-validator && rm -rf "$T"
manifest:
skills/alon2904/json-validator/SKILL.mdsource content
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