
Lesson 5: JSON Validation Strategies
Master the final verification layer. Learn how to implement code-based validation loops to catch, correct, and re-process any JSON outputs that deviate from your schema.
Module 8: Structured Output and Schema Design
Lesson 5: Validation Strategies
The schema is your Prevention layer. Validation is your Detection layer. Even with a perfect schema, Claude might occasionally output a trailing comma or a slightly malformed JSON object. An Architect must assume that Validation will fail and design a system to handle it.
In this lesson, we master the Validation Loop and learn how to use libraries like Pydantic or Zod to bridge the gap from "AI Text" to "Typed Code."
1. The Validation Loop (Try-Catch-Retry)
Instead of just crashing when JSON is invalid, your system should automatically ask Claude to fix itself.
The Algorithm:
- Try: Parse the JSON using a validator (e.g., Python's
jsonschemalibrary). - Catch: If an error occurs, capture the Validation Message (e.g., "Field 'price' must be an integer").
- Retry: Send the error message back to Claude: "Your JSON was invalid: [Error Message]. Please fix and re-output."
2. Using "Strongly Typed" Libraries
In a production repo, don't use raw dictionaries. Use schema libraries that enforce types at the Object level.
- Python: Use Pydantic.
- TypeScript: Use Zod.
These libraries allow you to transform a JSON string into a class instance. If the transformation fails, you have a programmatic error you can handle.
3. Semantic Validation (Beyond the Schema)
A JSON object can be technically valid but Contextually Wrong.
- Example:
{"start_date": "2023-01-01", "end_date": "2022-01-01"} - The Issue: The end date is before the start date. A standard JSON schema won't catch this.
Architect's Strategy: Implement a Custom Validator Layer that checks for "Business Logic" errors after the JSON is parsed.
4. Visualizing the Validation Pipeline
graph TD
A[Claude Output] --> B{JSON Parse}
B -->|Failed| C[Send Error to Claude]
C --> A
B -->|Success| D{Schema Check}
D -->|Violation| C
D -->|Pass| E{Business Rules}
E -->|Violation| F[Manual Review / Fail]
E -->|Pass| G[Success!]
5. Summary of Module 8
Module 8 has mastered the "Contract."
- You learned why Structure is the bridge to software (Lesson 1).
- You mastered JSON Schema Syntax (Lesson 2).
- You enforced data with Required Fields (Lesson 3).
- You eliminated variance with Enums and Constraints (Lesson 4).
- You built a safety net with Validation Strategies (Lesson 5).
In Module 9, we move from "What Claude says" to "What Claude remembers": Context Management.
Interactive Quiz
- Explain the "Try-Catch-Retry" loop for JSON validation.
- What is "Semantic Validation" and how does it differ from "Schema Validation"?
- Why are libraries like Pydantic or Zod preferred over raw JSON dictionaries?
- Scenario: Claude outputs JSON with a trailing comma, which causes a standard parser to fail. How would you handle this automatically?
Reference Video: