如何为schema.org的award字段正确配置多个奖项值
报错原因
校验返回类型不合法提示,核心是两个问题:
- Schema.org所有类型名严格遵循帕斯卡命名规则,首字母必须大写,不存在小写的
award类型,合法的奖项类型为Award,未被识别的类型自然会被判定为属性的非法目标值。之前单值写法能正常运行,是因为纯文本符合award属性支持Text类型的规则,和多值数组本身无关。 Person类型的award属性原生支持多值格式,无论是纯文本奖项名还是结构化奖项对象,都可以直接写入数组,不需要额外做特殊配置。
正确实现方式
根据需要的信息粒度,选择对应写法即可:
纯文本数组(无额外奖项信息场景)
如果只需要罗列奖项名称,不需要标注颁奖机构、获奖时间等扩展信息,直接传字符串数组是兼容性最高、写法最简单的方案:
{ "@context": "https://schema.org", "@type": "Person", "name": "人物姓名", "award": [ "第一个奖项名称", "第二个奖项名称", "第三个奖项名称" ] }
结构化Award对象数组(需要丰富奖项信息场景)
如果需要给每个奖项补充颁奖方、获奖时间、奖项说明等扩展属性,就使用结构化的Award类型,注意类型名首字母必须大写:
{ "@context": "https://schema.org", "@type": "Person", "name": "人物姓名", "award": [ { "@type": "Award", "name": "第一个奖项名称", "awardingOrganization": { "@type": "Organization", "name": "对应颁奖机构名称" }, "dateReceived": "2024-01-01", "description": "奖项相关补充说明" }, { "@type": "Award", "name": "第二个奖项名称", "awardingOrganization": { "@type": "Organization", "name": "对应颁奖机构名称" }, "dateReceived": "2023-06-15" } ] }
注意事项
修正类型名大小写问题后再运行校验,就不会再出现之前的目标类型错误,数组内可根据实际需求添加任意数量的奖项条目,没有数量限制。
内容的提问来源于stack exchange,提问作者Andrew H
相关产品推荐
相关产品推荐

