Fix minor errors in spec, add JSON specification.
diff --git a/specification/json/sections/cper-pci-component.json b/specification/json/sections/cper-pci-component.json
new file mode 100644
index 0000000..4e46485
--- /dev/null
+++ b/specification/json/sections/cper-pci-component.json
@@ -0,0 +1,82 @@
+{
+    "$id": "cper-json-pci-component-section",
+    "$schema": "https://json-schema.org/draft/2020-12/schema",
+    "type": "object",
+    "required": ["validationBits", "errorStatus", "idInfo", "memoryNumber", "ioNumber", "registerDataPairs"],
+    "additionalProperties": false,
+    "properties": {
+        "validationBits": {
+            "type": "object",
+            "required": ["errorStatusValid", "idInfoValid", "memoryNumberValid", "ioNumberValid", "registerDataPairsValid"],
+            "properties": {
+                "errorStatusValid": {
+                    "type": "boolean"
+                },
+                "idInfoValid": {
+                    "type": "boolean"
+                },
+                "memoryNumberValid": {
+                    "type": "boolean"
+                },
+                "ioNumberValid": {
+                    "type": "boolean"
+                },
+                "registerDataPairsValid": {
+                    "type": "boolean"
+                }
+            }
+        },
+        "errorStatus": {
+            "type": "object",
+            "$ref": "../common/cper-json-error-status.json"
+        },
+        "idInfo": {
+            "type": "object",
+            "required": ["vendorID", "deviceID", "classCode", "functionNumber", "deviceNumber", "busNumber", "segmentNumber"],
+            "properties": {
+                "vendorID": {
+                    "type": "integer"
+                },
+                "deviceID": {
+                    "type": "integer"
+                },
+                "classCode": {
+                    "type": "integer"
+                },
+                "functionNumber": {
+                    "type": "integer"
+                },
+                "deviceNumber": {
+                    "type": "integer"
+                },
+                "busNumber": {
+                    "type": "integer"
+                },
+                "segmentNumber": {
+                    "type": "integer"
+                }
+            }
+        },
+        "memoryNumber": {
+            "type": "integer"
+        },
+        "ioNumber": {
+            "type": "integer"
+        },
+        "registerDataPairs": {
+            "type": "array",
+            "items": {
+                "type": "object",
+                "required": ["firstHalf", "secondHalf"],
+                "properties": {
+                    "firstHalf": {
+                        "type": "integer"
+                    },
+                    "secondHalf": {
+                        "type": "integer"
+                    }
+                }
+            }
+        }
+    }
+}
\ No newline at end of file