Validieren von JSON-Nutzlasten mit TSOM-Schemaprüfung

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 1 Minute Lesedauer
  • Verwenden Sie die Dienstprogrammklasse TsomSchemaValidator, um JSON-Nutzlasten anhand von TSOM-Schemas zu validieren, bevor Sie Daten importieren. Dies hilft, Fehler frühzeitig zu identifizieren, ETL-Fehler zu reduzieren und die Datenqualität zu bestätigen.

    Verwenden Sie diese Validierung, um zu überprüfen, ob Ihre JSON-Nutzlasten dem erwarteten Schema für Telekommunikationsobjekte wie Geräte, logische Verbindungen und Topologien entsprechen, bevor Sie Importsätze erstellen. Dieser Vorvalidierungsschritt hilft, Fehler bei der Schemabeinstimmung zu verhindern und das Debugging zu verbessern.

    Unterstützte Schematypen

    Die Validierung unterstützt mehrere Schematypen für verschiedene Telekommunikationsdatenstrukturen:
    • Logische Zusammensetzungen: Stellt Gruppierungen von Komponenten dar: Geräte, PDUs, Lüfterregale
    • Geräte: Geräte und ihre enthaltenen Komponenten
    • Logische Verbindungen: Verbindungen zwischen Netzwerkschnittstellen
    • Portbeziehungen: Beziehungen zwischen Netzwerkschnittstellen: Physisch, logisch, Verzögerungen
    • Logische Verbindungsbeziehungen: Beziehungen zwischen logischen Verbindungen
    • Topologien: Netzwerktopologie

    Klassenstruktur

    let TsomSchemaValidator = Class.create();
    TsomSchemaValidator.prototype = {
    initialize: function() {
    this.schemas = new TsomGenericSchema();
    },
    isValidJson: function(payload) {
    // Validation logic that determines if the JSON structure is valid
    // Returns boolean (true/false)
    },
    checkJsonValidation: function(payload) {
    // Validation logic that determines if the JSON structure is valid
    // Returns a JSON object containing errors (if exist)
    },
    type: 'TsomSchemaValidator'
    };

    Schritte

    1. Instanziieren Sie das Schema ValidatorjavascriptCopyEdit
      var TsomSchemaValidator = new sn_tsom_core.TsomSchemaValidator();
      
    2. Führen Sie eine boolesche Validierungsprüfung aus
      if (!TsomSchemaValidator.isValidJson(target_json)) {
          gs.error('Invalid JSON: ' + JSON.stringify(target_json));
          return;
      }
      
    3. Führen Sie eine detaillierte Validierungsprüfung aus
      let result = TsomSchemaValidator.checkJsonValidation(target_json);
      if (!result.valid) {
          gs.error('Invalid JSON: ' + JSON.stringify(result, null, 2));
          return;
      }
      

    Beispielausgabe

    Example Output
    {
      "schemaName": "devices",
      "errors": [
        {
          "message": "Missing required property: model_name",
          "params": { "key": "model_name" },
          "code": 302,
          "dataPath": "/devices/0/ports/0",
          "schemaPath": "/properties/devices/items/properties/ports/items/required/4"
        }
      ],
      "valid": false
    }