当前位置: 首页 > news >正文

JSON-LD 的格式

1. 固定格式

JSON-LD 的核心是一个标准的 JSON 对象。它必须遵循 JSON 的语法规则(如使用双引号、正确的括号匹配等)。在这个 JSON 对象内部,结构是由一些固定的关键字来定义的。

一个最基本的、完整的 JSON-LD 脚本通常包含以下结构:

{"@context": "https://schema.org","@type": "Thing",... // 其他属性
}

关键点:

  • 必须包含 @context:这是 JSON-LD 的“灵魂”,它定义了文档中使用的术语(关键字)在哪个“词典”里可以找到解释。

  • 推荐包含 @type:它描述的这个“东西”是什么类型,比如是一个人、一个产品、一篇文章等。


2. 固定的关键字

JSON-LD 规范定义了一系列以 @ 符号开头的关键字,它们有特殊的含义。

以下是一些最常用和核心的关键字:

核心关键字(处理文档结构)
  • @context (必须)

    • 作用:指定用来解释文档中所有术语的“上下文”。它通常是一个指向外部词汇表的 URL(如 Schema.org),也可以是一个内嵌的 JSON 对象,用于自定义映射。

    • 示例"@context": "https://schema.org"

  • @type (强烈推荐)

    • 作用:指定当前被描述事物的类型。

    • 示例"@type": "Person""@type": "BlogPosting"

  • @id (可选,但很有用)

    • 作用:为被描述的事物提供一个唯一的、稳定的标识符,通常是一个 URL(可以是真实存在的,也可以只是一个概念上的 URI)。

    • 示例"@id": "https://example.com/#me" (用于个人), "@id": "https://example.com/products/123" (用于产品)

用于定义数据的关键字
  • @value:用于指定一个属性的“值”。

  • @language:与 @value 配合使用,指定该值的语言。

    "name": {"@value": "苹果","@language": "zh"
    }
  • @container:在 @context 中用于指定一个属性的值应该如何被存储,例如作为列表 (@list)、集合 (@set) 或索引 (@index)。

用于组织图数据的关键字(高级用法)
  • @graph:允许在一个 JSON-LD 文档中包含多个独立的“描述”(多条数据),形成一个“图”。

    {"@context": "https://schema.org","@graph": [{"@type": "Person","@id": "#person1","name": "张三"},{"@type": "BlogPosting","author": {"@id": "#person1"}}]
    }
  • @reverse:用于定义反向关系。


3. 一个完整的示例

描述一个人的完整 JSON-LD 示例,它结合了上述关键字和 Schema.org 词汇表中的属性。

{"@context": "https://schema.org","@type": "Person","@id": "https://example.com/#zhangsan","name": "张三","jobTitle": "高级软件工程师","telephone": "(+86) 138-0013-8000","url": "https://zhangsan.example.com","worksFor": {"@type": "Organization","name": "某科技公司"},"alumniOf": {"@type": "CollegeOrUniversity","name": "某知名大学"},"sameAs": ["https://linkedin.com/in/zhangsan","https://github.com/zhangsan"]
}

在这个例子中:

  • @context@type@id 是 固定的 JSON-LD 关键字

  • namejobTitleworksForalumniOf 等是来自 Schema.org 词汇表 的术语,它们不是固定的,你可以根据你要描述的类型自由选择。但它们的使用必须符合 @context 所指向的词汇表的定义。

总结

1. 有固定格式

它必须是有效的 JSON,并且必须包含 @context 等核心关键字来构成一个合法的 JSON-LD 文档。

2. 有固定的关键字

所有以 @ 开头的关键字(如 @context@type@id)都是 JSON-LD 规范定义的,具有特殊含义,你不能随意发明它们。

3. 其他属性

除了 @ 关键字之外的其他属性(如 nameauthorprice不是固定的。它们来自于你在 @context 中引用的词汇表(最常用的是 Schema.org)。你可以根据需要在词汇表中查找并使用合适的属性。

简单来说:JSON-LD 提供了固定的“语法骨架”(@关键字),而内容(其他属性)则由像 Schema.org 这样的共享词汇表来填充。

http://www.dtcms.com/a/420473.html

相关文章:

  • 有域名怎么发布网站吗中企动力网站报价
  • 新网站怎么做流畅wordpress更新机制
  • 网站开发 流程图搜索引擎营销的原理是什么
  • 生成论坛网站自己建网站怎么做影视资源
  • 怎么免费搭建属于自己的网站做视频网站需要
  • 第三十七天:2025 图形绘制
  • Machine Mental Imagery: Empower MultimodalReasoning with Latent Visual Tokens
  • 新乡公司做网站机关网页设计价格表
  • 江阴网站建设推广网页制作基础教程9787121095306教案
  • API接口获取商品详情的实战运用(以淘宝平台为例)
  • JDK17新特性
  • 在福州做搬家网站多少钱全网营销推广定义
  • 有哪些做海报的网站网页游戏网站建设
  • node安装及解决“node’不是内部或外部命令,也不是可运行的程序戈批处理文件”问题
  • 上海网站建设报价方案短链接在线生成器
  • 用织梦系统做网站产权中国菲律宾直播
  • 益阳一站式网站建设公司淘宝网站建设的公司
  • 网站建设杭州哪家便宜网站优化包括
  • Kimi OK Computer实测:对话生成网站,PPT和仪表盘
  • 自然语言处理项目之情感分析(下)
  • 简墨博客系统测试报告
  • 数码港 太原网站开发公司小程序自己制作流程
  • 长春做网站长春网站设计如何开展网络营销推广
  • 界面设计好看的网站网页设计与制作步骤流程
  • 电商数据分析之自动获取数据的技术手段分享
  • 怎样用ps做企业网站wordpress配置qq邮件
  • 沈阳世纪兴网站制作公司电子书店网站开发
  • *Linux磁盘管理全攻略:LVM+RAID+文件系统指南
  • 【复习】计网每日一题--零窗口要启动的计时器
  • 基于python的校园舆情管理系统设计与实现