Validar entidades com esquemas JSON

Para validar entidades ao criar ou atualizar seu feed, use os seguintes esquemas JSON. Os esquemas são baseados na especificação do esquema JSON. Ao adicionar um teste de unidade para validar as entidades geradas, você pode detectar problemas que afetam a qualidade do feed. Você também pode usar esses esquemas durante o desenvolvimento do seu feed para evitar erros comuns.

Selecionar um esquema de ações de mídia

  • O esquema de vídeo sob demanda valida as entidades Movie, TVEpisode, TVSeries e TVSeason.
  • O Esquema de TV ao vivo valida as entidades BroadcastEvent, BroadcastService, CableOrSatelliteService, Movie, Organization, SportsEvent, TelevisionChannel, TVEpisode, TVSeason e TVSeries.
  • O Esquema de música valida as entidades MusicAlbum, MusicGroup, MusicPlaylist e MusicRecording.
  • O Esquema de rádio valida entidades RadioBroadcastService.

Use a especificação neste site como a fonte de verdade, já que esses esquemas podem não ter todos os recursos implementados.

Escolher um validador

A lista de implementações de validador está disponível em json-schema.org.

Os esquemas fornecidos são escritos em draft 7. Portanto, a implementação escolhida precisa oferecer suporte a essa versão para funcionar corretamente.

Exemplo de validação

O exemplo a seguir mostra como validar todas as entidades presentes em um arquivo feed.json usando o arquivo de esquema schema.json e o módulo jsonschema do Python. As entidades estão na propriedade dataFeedElement, conforme especificado na documentação do envelope do feed de dados.


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