使用 JSON 架构验证实体

要在创建或更新 Feed 时验证实体,请使用以下 JSON 架构。这些架构基于 JSON 架构规范。 通过添加单元测试来验证您生成的实体,您可以检测 影响 Feed 质量的问题。您还可以使用这些架构 开发 Feed 以避免常见错误。

选择媒体操作架构

  • Video On Demand 架构用于验证 MovieTVEpisodeTVSeriesTVSeason 实体。
  • Live TV 架构可验证 BroadcastEventBroadcastServiceCableOrSatelliteServiceMovieOrganizationSportsEventTelevisionChannelTVEpisodeTVSeasonTVSeries 实体。
  • 音乐架构会验证 MusicAlbumMusicGroupMusicPlaylistMusicRecording 实体。
  • Radio Schema 用于验证 RadioBroadcastService 实体。

请使用此网站上的规范作为可信来源,因为这些架构可能并未实现所有功能。

选择验证器

您可以在 json-schema.org 上找到验证器实现的列表。

所提供的架构是以草稿 7 编写的,因此您选择的实现需要支持此版本才能正常工作。

验证示例

以下示例展示了如何验证文件中存在的所有实体 使用架构文件 schema.jsonjsonschema Python 模块设置 feed.json。这些实体位于 属性 dataFeedElement(如数据 Feed 信封文档中所述)。


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