#!/bin/bash # json_dir_validator.sh - Validate all JSON files in a directory # Usage: ./json_dir_validator.sh [directory] # Returns: exit 0 if all valid JSON, exit 1 if any invalid, lists problems dir="${1:-.}" if [[ ! -d "$dir" ]]; then echo "ERROR: '$dir' is not a directory" >&2 exit 2 fi invalid_count=0 valid_count=0 while IFS= read -r -d '' file; do if python3 -c "import json; json.load(open('$file'))" 2>/dev/null; then valid_count=$((valid_count + 1)) else echo "INVALID: $file" invalid_count=$((invalid_count + 1)) fi done < <(find "$dir" -name '*.json' -type f -print0 2>/dev/null) if [[ $invalid_count -gt 0 ]]; then echo "FAILED: $invalid_count invalid JSON files found" exit 1 else echo "OK: All $valid_count JSON files are valid" exit 0 fi