Valida entidades con esquemas JSON

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

Selecciona un esquema de acciones 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 música valida las entidades MusicAlbum, MusicGroup, MusicPlaylist y MusicRecording.
  • El esquema de radio valida las entidades RadioBroadcastService.

Usa las especificaciones de este sitio como referencia, ya que es posible que estos esquemas no tengan implementadas todas las funciones.

Elige un validador

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

Los esquemas proporcionados están escritos en el borrador 7, por lo que la implementación que elijas debe ser compatible con 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 jsonschema de Python. Las entidades se encuentran en la la propiedad dataFeedElement, tal 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")