在前端开发中,经常需要处理数据的交换和表示。JSON-LD 是一种用于描述结构化数据的格式,它可以让我们更方便地将数据传递给其他系统。本文将介绍如何使用 npm 包 jsonld
来处理 JSON-LD 数据。
安装
首先,我们需要安装 jsonld
:
npm install jsonld
使用
转换 JSON-LD 数据
我们可以使用 jsonld
的 compact()
方法将 JSON-LD 数据转换为普通的 JavaScript 对象。例如,下面是一个简单的 JSON-LD 示例:
{ "@context": "https://schema.org/", "@type": "Person", "name": "John Doe", "jobTitle": "Software Engineer", "telephone": "+1-555-555-1234", "url": "https://www.example.com/johndoe" }
我们可以使用 jsonld.compact()
方法将其转换为 JavaScript 对象:
-- -------------------- ---- ------- ----- ------ - ------------------ ----- ---- - - ----------- ---------------------- -------- --------- ------- ----- ----- ----------- --------- ---------- ------------ ------------------ ------ --------------------------------- -- -------------------- --- ----- ---------- -- - ----------------------- ---展开代码
输出结果为:
{ "name": "John Doe", "jobTitle": "Software Engineer", "telephone": "+1-555-555-1234", "url": "https://www.example.com/johndoe" }
创建 JSON-LD 数据
我们也可以使用 jsonld
的 expand()
方法来创建 JSON-LD 数据。例如:
-- -------------------- ---- ------- ----- ------ - ------------------ ----- ---- - - ----------- ---------------------- -------- --------- ------- ----- ----- ----------- --------- ---------- ------------ ------------------ ------ --------------------------------- -- ------------------- --- ----- --------- -- - ---------------------- ---展开代码
输出结果为:
-- -------------------- ---- ------- - - ----------- ---------------------- ------ ------- -------- --------- ----------------------------- - - --------- --------- --------- - -- ------------------------- - - --------- ----- ---- - -- ------------------------------ - - --------- ----------------- - -- ------------------------ - - --------- --------------------------------- - - - -展开代码
扩展 JSON-LD 上下文
有时候,我们需要扩展 JSON-LD 上下文,以允许描述更多的数据。例如,假设我们想要描述一个人的地址信息,我们可以扩展 @context
如下:
-- -------------------- ---- ------- - ----------- - ------- ------------------------- ----------- ----------------------------- ------------ ------------------------------ ------ ------------------------ ---------- ---------------------------- ---------------- ---------------------------------- ------------------ ------------------------------------ ---------------- ---------------------------------- ------------- ------------------------------- ----------------- ---------------------------------- -- -------- --------- ------- ----- ----- ----------- --------- ---------- ------------ ------------------ ------ ---------------------------------- ---------- - -------- ---------------- ---------------- ---- ---- ---- ------------------ ---------- ---------------- ----- - ----------------------------------------------------------- -------- ----------------------------------------------------------------------------------展开代码