Fix minor errors in spec, add JSON specification.
diff --git a/specification/json/cper-json-section-descriptor.json b/specification/json/cper-json-section-descriptor.json
new file mode 100644
index 0000000..6148a5b
--- /dev/null
+++ b/specification/json/cper-json-section-descriptor.json
@@ -0,0 +1,103 @@
+{
+    "$id": "cper-json-section-descriptor",
+    "$schema": "https://json-schema.org/draft/2020-12/schema",
+    "type": "object",
+    "required": ["sectionOffset", "sectionLength", "revision", "validationBits", "flags", "sectionType", "severity"],
+    "additionalProperties": false,
+    "properties": {
+        "sectionOffset": {
+            "type": "integer"
+        },
+        "sectionLength": {
+            "type": "integer"
+        },
+        "revision": {
+            "type": "object",
+            "required": ["major", "minor"],
+            "properties": {
+                "major": {
+                    "type": "integer",
+                    "minimum": 0
+                },
+                "minor": {
+                    "type": "integer",
+                    "minimum": 0
+                }
+            }
+        },
+        "validationBits": {
+            "type": "object",
+            "required": ["fruIDValid", "fruStringValid"],
+            "properties": {
+                "fruIDValid": {
+                    "type": "boolean"
+                },
+                "fruStringValid": {
+                    "type": "boolean"
+                }
+            }
+        },
+        "flags": {
+            "type": "object",
+            "required": ["primary", "containmentWarning", "reset", "errorThresholdExceeded", "resourceNotAccessible", "latentError", "propagated", "overflow"],
+            "properties": {
+                "primary": {
+                    "type": "boolean"
+                },
+                "containmentWarning": {
+                    "type": "boolean"
+                },
+                "reset": {
+                    "type": "boolean"
+                },
+                "errorThresholdExceeded": {
+                    "type": "boolean"
+                },
+                "resourceNotAccessible": {
+                    "type": "boolean"
+                },
+                "latentError": {
+                    "type": "boolean"
+                },
+                "propagated": {
+                    "type": "boolean"
+                },
+                "overflow": {
+                    "type": "boolean"
+                }
+            }
+        },
+        "sectionType": {
+            "type": "object",
+            "required": ["data", "name"],
+            "properties": {
+                "data": {
+                    "type": "string",
+                    "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{16}$"
+                },
+                "name": {
+                    "type": "string"
+                }
+            }
+        },
+        "fruID": {
+            "type": "string"
+        },
+        "severity": {
+            "type": "object",
+            "required": ["code", "name"],
+            "properties": {
+                "code": {
+                    "type": "integer",
+                    "minimum": 0
+                },
+                "name": {
+                    "type": "string"
+                }
+            }
+        },
+        "fruText": {
+            "type": "string"
+        }
+    }
+}
\ No newline at end of file