Entitäten mit JSON-Schemas validieren

Verwenden Sie die folgende JSON-Datei, um beim Erstellen oder Aktualisieren Ihres Feeds Entitäten zu validieren Schemata. Die Schemas basieren auf der JSON-Schemaspezifikation. Wenn Sie einen Unittest hinzufügen, um die generierten Entitäten zu validieren, die sich auf die Feedqualität auswirken. Sie können diese Schemas auch um häufige Fehler zu vermeiden.

Media Actions-Schema auswählen

  • Mit dem Video-on-Demand-Schema werden Movie-, TVEpisode-, TVSeries- und TVSeason-Entitäten validiert.
  • Das Live-TV-Schema validiert die Entitäten BroadcastEvent, BroadcastService, CableOrSatelliteService, Movie, Organization, SportsEvent, TelevisionChannel, TVEpisode, TVSeason und TVSeries.
  • Music Schema validiert die Entitäten MusicAlbum, MusicGroup, MusicPlaylist und MusicRecording.
  • Radio Schema validiert RadioBroadcastService Entitäten.

Verwende die Spezifikation auf dieser Website als "Source of Truth", da in diesen Schemas möglicherweise nicht alle Funktionen implementiert sind.

Validator auswählen

Eine Liste der Validator-Implementierungen finden Sie auf json-schema.org.

Die bereitgestellten Schemas sind in Entwurf 7 geschrieben. Die von Ihnen gewählte Implementierung muss daher diese Version unterstützen, damit sie ordnungsgemäß funktioniert.

Beispiel für die Validierung

Das folgende Beispiel zeigt, wie alle in einer Datei vorhandenen Entitäten validiert werden feed.json mit der Schlüsseldatei schema.json und dem Python-Modul jsonschema. Die Entitäten befinden sich in der dataFeedElement, wie im Datenfeed-Umschlag angegeben.


    import json
    from jsonschema import validate

    # Loading the schema file
    with open("schema.json", "r") as fp:
        schema = json.load(fp)

    # Opening the feed
    with open("feed.json", "r") as fp:
        feed = json.load(fp)

    # Validating each entity in the feed
    for entity in feed["dataFeedElement"] :
        try:
            validate(schema=schema, instance=entity)
            print("Entity validated successfully")
        except Exception as e:
            # e may contain an explanation as to why the entity wasn't valid
            print("Failed to validate the entity")