Const
// Exercise data with JSON content
const ExerciseSchema = z.object({
title: TextFieldSchema(1, 200),
type: ExerciseTypeSchema,
data: JsonSchema, // Flexible JSON structure
metadata: JsonSchema.optional() // Optional JSON metadata
});
// Different JSON data structures
const validJsonData = [
{ question: 'What is...?', options: ['A', 'B', 'C'], answer: 'A' },
['item1', 'item2', 'item3'],
{ config: { difficulty: 'medium', timeLimit: 300 } }
];
validJsonData.forEach(data => {
const result = JsonSchema.parse(data);
console.log('Valid JSON data:', result);
});
JSON data validation schema for flexible structured content
Flexible validation schema that accepts either JSON objects or arrays, designed for storing structured data such as exercise configurations, content metadata, and dynamic form data. This schema provides type safety for JSON content while maintaining flexibility for various data structures.
The schema accepts both object and array formats to accommodate different JSON data patterns used throughout the application. This flexibility is essential for exercise data, configuration settings, and other structured content that may vary in format while maintaining JSON compatibility.