# @adobe/structured-data-validator 中文文档

规范地址：https://npmcn.com/package/%40adobe/structured-data-validator/

版本：1\.7\.0
npm 元数据更新时间：2026-10-01T01:35:30.159Z
中文译文更新时间：2026-11-05T18:36:25.961Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40adobe/structured-data-validator
原文对照：https://npmcn.com/package/%40adobe/structured-data-validator/?lang=original
项目主页：https://github.com/adobe/structured-data-validator#readme
源码仓库：https://github.com/adobe/structured-data-validator

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：101 kB，46 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=18\.0\.0
- 运行依赖：0 个
- 首次发布：2025-05-08T13:09:22.860Z
- 最新版本发布：2026-02-25T12:35:45.754Z
- 近 30 天下载量：64005（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：15（近 12 个月 2 个）

## 中文简介

结构化数据验证器

## 安装

```sh
npm install @adobe/structured-data-validator
```

也可以使用：`pnpm add @adobe/structured-data-validator`、`yarn add @adobe/structured-data-validator`、`bun add @adobe/structured-data-validator`

## README

# @ adobe/ 结构化数据验证器

![GitHub License](https://img.shields.io/github/license/adobe/structured-data-validator) [![CI](https://github.com/adobe/structured-data-validator/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/adobe/structured-data-validator/actions/workflows/ci.yml) [![NPM Version](https://img.shields.io/npm/v/%40adobe%2Fstructured-data-validator?link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F%40adobe%2Fstructured-data-validator)](https://www.npmjs.com/package/@adobe/structured-data-validator) ![Node Current](https://img.shields.io/node/v/%40adobe%2Fstructured-data-validator)

一个JavaScript库,用于根据 Schema.org 的规格和 Google Rich Results 的要求验证和解析结构化数据. 这个库确保了您的结构化数据既符合Schema.org标准,也符合Google对丰富结果的具体要求,帮助优化了您搜索引擎和其他平台的内容.

## 特征

-   对照 Schema.org 和 Google Rich Results 的规格验证结构化数据
-   确保遵守谷歌的结构化数据准则
-   具有自定义类型处理器的广泛验证系统

## 安装

```bash
npm install @adobe/structured-data-validator
```

## 使用量

这个图书馆与 [@marbec/web-自动提取器](https://www.npmjs.com/package/@marbec/web-auto-extractor) 以验证从网页中提取的结构化数据.

```javascript
import { Validator } from '@adobe/structured-data-validator';
import WebAutoExtractor from '@marbec/web-auto-extractor';

// First, extract structured data from HTML
const extractor = new WebAutoExtractor({ addLocation: true, embedSource: ['rdfa', 'microdata'] });
const extractedData = extractor.parse(sampleHTML);

// Fetch the current schema.org schema
const schemaOrgJson = await (await fetch('https://schema.org/version/latest/schemaorg-all-https.jsonld')).json();

// Create a validator instance
const validator = new Validator(schemaOrgJson);

// Validate the extracted structured data
const results = await validator.validate(extractedData);
}
```

校验器期望输出格式来自 `@marbec/web-auto-extractor`,包括:

-   JSON-LD结构数据
-   微数据
-   卢旺达国防军a

### 验证结果

验证器返回一系列验证问题 。 每个问题对象包含:

-   `issueMessage` - 人类可读错误或警告信息
-   `severity` - 随便 `'ERROR'` 或者说 `'WARNING'`
-   `path` - 代表问题发生地数据结构中的位置的矩阵
-   `fieldNames` - 导致验证问题的战地路径阵列(例如, `['price']`, (中文(简体) ), `['offers.price']`,或 `['aggregateRating', 'offers', 'review']` (复合条件)
-   `location` - 原始来源中的字符位置(如果有的话)

示例验证结果 :

```javascript
[
  {
    issueMessage: 'Required attribute "price" is missing',
    severity: 'ERROR',
    path: [{ type: 'Product', index: 0 }],
    fieldNames: ['price'],
    location: '35,100',
  },
];
```

### 浏览器

您可以使用以下命令在浏览器中直接运行解析器和验证器:

```js
const { default: WebAutoExtractor } = await import(
  'https://unpkg.com/@marbec/web-auto-extractor@latest/dist/index.js'
);
const { default: Validator } = await import(
  'https://unpkg.com/@adobe/structured-data-validator@latest/src/index.js'
);

const extractedData = new WebAutoExtractor({
  addLocation: true,
  embedSource: ['rdfa', 'microdata'],
}).parse(document.documentElement.outerHTML);
console.log(extractedData);
const schemaOrgJson = await (
  await fetch('https://schema.org/version/latest/schemaorg-all-https.jsonld')
).json();
await new Validator(schemaOrgJson).validate(extractedData);
```

## 发展

### 先决条件

-   节点.js(推荐最新LTS版本)
-   无

### 设置

1.  清除仓库
2.  安装依赖性 :
    
    ```bash
    npm install
    ```
    

### 可用的脚本

-   `npm test` - 进行覆盖测试
-   `npm run lint` - 运行ESLint
-   `npm run format` - 检查代码格式
-   `npm run format:fix` - 解决代码格式问题

### 除错日志

要启用调试日志并查看详细的验证输出, 请设置 `debug` 属性改为 `true` 在你身边 `Validator` 实例:

```js
const validator = new Validator();
validator.debug = true; // Enable debug logging
```

这将在验证过程中将额外信息打印到控制台,这对开发和排除出故障很有用.

## 依赖关系

-   [@marbec/web-自动提取器](https://www.npmjs.com/package/@marbec/web-auto-extractor) - 从网页提取结构化数据

## 常见问题

### @adobe/structured-data-validator 是什么？

结构化数据验证器

### 如何安装 @adobe/structured-data-validator？

在项目目录运行 npm install @adobe/structured-data-validator，或使用 pnpm add / yarn add / bun add。

### @adobe/structured-data-validator 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/adobe\_\_structured-data-validator 是否存在。

### @adobe/structured-data-validator 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @adobe/structured-data-validator 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @adobe/structured-data-validator 可以商用吗？

@adobe/structured-data-validator 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @adobe/structured-data-validator 的下载量有多少？

根据 npm 官方下载统计，@adobe/structured-data-validator 在 2026/10/05 – 2026/11/03 这 30 天内被下载 64,005 次，日均约 2,134 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @adobe/structured-data-validator 还在维护吗？

最新版本 1\.7\.0 发布于 2026/02/25（8 个月前）；至今共发布 15 个版本，其中过去 12 个月发布了 2 个；首次发布于 2025/05/08。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

