You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js环境下JSON LD属性值校验的可用NPM包咨询

推荐几个可直接校验Schema.org JSON-LD的NPM包

针对你需要校验Schema.org结构JSON-LD的需求,推荐以下几个开箱即用的NPM包,无需手动编写大量校验规则:

1. @digitalbazaar/jsonld-validator

这个包专门用于JSON-LD的语法和结构校验,原生支持Schema.org上下文,能自动验证属性值的类型合规性(比如Article的thumbnailUrl是否为合法URL)。

安装:

npm install @digitalbazaar/jsonld-validator

基础用法示例:

import { validate } from '@digitalbazaar/jsonld-validator';

// 从网页获取的JSON-LD数据
const jsonLdData = {
  "@context": "https://schema.org",
  "@type": "Article",
  "thumbnailUrl": "not-a-url",
  // 其他属性...
};

try {
  await validate({
    document: jsonLdData,
    contextUrl: "https://schema.org",
    strict: true // 开启严格类型校验
  });
  console.log("校验通过");
} catch (error) {
  console.error("校验失败:", error.message);
}

2. schema-dts + ajv

如果想继续使用ajv,schema-dts提供了自动生成的Schema.org JSON Schema文件,可直接导入ajv使用,省去手动编写规则的麻烦。

安装:

npm install schema-dts ajv

基础用法示例:

import Ajv from 'ajv';
import { ArticleSchema } from 'schema-dts/schema';

const ajv = new Ajv();
const validateArticle = ajv.compile(ArticleSchema);

const jsonLdData = {
  "@context": "https://schema.org",
  "@type": "Article",
  "thumbnailUrl": "invalid-string",
  // 其他属性...
};

const isValid = validateArticle(jsonLdData);
if (!isValid) {
  console.error("校验失败:", validateArticle.errors);
}

3. jsonld-schema-validator

这个包内置了完整的Schema.org校验规则,调用简单,直接传入JSON-LD数据就能完成属性类型校验。

安装:

npm install jsonld-schema-validator

基础用法示例:

import { validateSchema } from 'jsonld-schema-validator';

const jsonLdData = {
  "@context": "https://schema.org",
  "@type": "Article",
  "thumbnailUrl": "not-a-url",
  // 其他属性...
};

const result = validateSchema(jsonLdData);
if (!result.valid) {
  console.error("校验失败:", result.errors);
}

内容的提问来源于stack exchange,提问作者koji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 02:26:19