Valida entidades con esquemas JSON

Para validar las entidades cuando creas o actualizas tu feed, usa los siguientes esquemas JSON. Los esquemas se basan en la especificación del esquema de JSON. Si agregas una prueba de unidad para validar las entidades que generas, puedes detectar problemas que afectarían la calidad del feed. También puedes usar estos esquemas durante el desarrollo de tu feed para evitar errores comunes.

Selecciona un esquema de acciones de contenido multimedia

  • El esquema de video a pedido valida las entidades Movie, TVEpisode, TVSeries y TVSeason.
  • El esquema de TV en vivo valida las entidades BroadcastEvent, BroadcastService, CableOrSatelliteService, Movie, Organization, SportsEvent, TelevisionChannel, TVEpisode, TVSeason y TVSeries.
  • El esquema de Music valida las entidades MusicAlbum, MusicGroup, MusicPlaylist y MusicRecording.
  • El esquema de radio valida las entidades RadioBroadcastService.

Usa la especificación de este sitio como fuente de información, ya que es posible que estos esquemas no tengan implementadas todas las funciones.

Elige un validador

Puedes encontrar la lista de implementaciones de validadores en json-schema.org.

Los esquemas proporcionados están escritos en el borrador 7, por lo que la implementación que elijas debe admitir esta versión para funcionar correctamente.

Ejemplo de validación

En el siguiente ejemplo, se muestra cómo validar todas las entidades presentes en un archivo feed.json con el archivo de esquema schema.json y el módulo de Python jsonschema. Las entidades se encuentran en la propiedad dataFeedElement, como se especifica en la documentación del sobre del feed de datos.


    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")