{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Netlist",
  "type": "object",
  "properties": {
    "Netlist": {
      "type": "object",
      "required": ["BySoftware", "ByModule", "Components", "Nets"],
      "properties": {
        "BySoftware": { "type": "string" },
        "ByModule": { "type": "string" },
        "Components": {
          "type": "array",
          "items": {
            "type": "object",
            "required": ["Refdes", "Footprint", "Value", "Device", "Pins"],
            "properties": {
              "Refdes": { "type": "string" },
              "Footprint": { "type": "string" },
              "Value": { "type": "string" },
              "Device": { "type": "string" },
              "Pins": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": ["Number", "PinName"],
                  "properties": {
                    "Number": { "type": "string" },
                    "PinName": { "type": "string" },
                    "Attribute": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": ["Key", "Value"],
                        "properties": {
                          "Key": { "type": "string" },
                          "Value": { "type": "string" }
                        }
                      }
                    }
                  }
                }
              },
              "Attribute": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": ["Key", "Value"],
                  "properties": {
                    "Key": { "type": "string" },
                    "Value": { "type": "string" }
                  }
                }
              }
            }
          }
        },
        "Nets": {
          "type": "array",
          "items": {
            "type": "object",
            "required": ["Name", "Connections"],
            "properties": {
              "Name": { "type": "string" },
              "Connections": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": ["Refdes", "PinNum"],
                  "properties": {
                    "Refdes": { "type": "string" },
                    "PinNum": { "type": "string" }
                  }
                }
              },
              "Attribute": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": ["Key", "Value"],
                  "properties": {
                    "Key": { "type": "string" },
                    "Value": { "type": "string" }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "additionalProperties": false
}

