{
  "id": "data/json-schema-enum-case",
  "signature": "JSON Schema enum validation fails due to case sensitivity mismatch",
  "signature_zh": "由于大小写敏感不匹配，JSON Schema枚举验证失败",
  "regex": "JSON Schema.*enum.*case|enum.*validation.*failed|value.*not.*in.*enum",
  "domain": "data",
  "category": "validation_error",
  "subcategory": null,
  "root_cause": "JSON Schema enum validation is case-sensitive by default, but input data may contain values with different casing (e.g., 'Active' vs 'active'), causing rejection.",
  "root_cause_type": "generic",
  "root_cause_zh": "JSON Schema枚举验证默认区分大小写，但输入数据可能包含不同大小写的值（例如'Active' vs 'active'），导致拒绝。",
  "versions": [
    {
      "version": "JSON Schema Draft 2020-12",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "Ajv 8.12.0",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "Python jsonschema 4.17.0",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    }
  ],
  "os_specific": {},
  "dead_ends": [
    {
      "action": "Adding 'caseInsensitive': true to the schema definition",
      "why_fails": "JSON Schema does not support case-insensitive enum matching natively; custom keywords may not be portable.",
      "fail_rate": 0.85,
      "condition": "",
      "sources": []
    },
    {
      "action": "Using pattern validation with regex for each enum value",
      "why_fails": "This only works in specific validators and is not standard JSON Schema.",
      "fail_rate": 0.7,
      "condition": "",
      "sources": []
    }
  ],
  "workarounds": [
    {
      "action": "Normalize input data to match enum casing before validation: data['status'] = data['status'].lower(); then validate against enum ['active', 'inactive']",
      "success_rate": 0.95,
      "how": "Normalize input data to match enum casing before validation: data['status'] = data['status'].lower(); then validate against enum ['active', 'inactive']",
      "condition": "",
      "sources": []
    },
    {
      "action": "Expand enum to include all case variants: \"enum\": [\"Active\", \"active\", \"ACTIVE\"]",
      "success_rate": 0.85,
      "how": "Expand enum to include all case variants: \"enum\": [\"Active\", \"active\", \"ACTIVE\"]",
      "condition": "",
      "sources": []
    }
  ],
  "workarounds_zh": [
    "Normalize input data to match enum casing before validation: data['status'] = data['status'].lower(); then validate against enum ['active', 'inactive']",
    "Expand enum to include all case variants: \"enum\": [\"Active\", \"active\", \"ACTIVE\"]"
  ],
  "transition_graph": {
    "leads_to": [],
    "preceded_by": [],
    "frequently_confused_with": []
  },
  "official_doc_url": "https://json-schema.org/understanding-json-schema/reference/generic.html#enum",
  "official_doc_section": null,
  "error_code": null,
  "verification_tier": "ai_generated",
  "confidence": 0.82,
  "fix_success_rate": 0.9,
  "resolvable": "true",
  "first_seen": "2023-08-22",
  "last_confirmed": "2024-06-01",
  "last_updated": "2024-06-01",
  "evidence_count": 1,
  "tags": [],
  "locale": "en",
  "aliases": []
}