@bcherny/json-schema-ref-parser

中文文档
10.0.5-fork发布于 2023/02/23MITTypeScriptESM + CJS近 30 天下载 172.9万

解析、解析和引用 JSON Schema $ref 指针

中文使用文档
文档目录10 节
  1. 问题:
  2. 解决方案:
  3. 示例
  4. 安装
  5. 使用量
  6. 浏览器支持
  7. API 文档
  8. 捐款
  9. 许可证
  10. 谢谢

JSON Schema 参考解析器

这个软件包需要 一个新的维护者 或至少一些贡献者。 详情 请阅读本条截至v10.0.0。 我不再花任何时间研究这个工具了 所以我可以集中精力扩大我的 重新造林慈善机构 而不是把自己烧成灰烬 试图维持一整批OSS项目 我不使用在我的消失的很小的业余时间。 如果你愿意的话,请联系. - 说吧 菲尔·斯通

解析、解析和引用 JSON Schema $ref 指针

Build Status Coverage Status

npm License Buy us a tree

问题:

你有一个JSON斯克马与 $ref 指向其它文件和(或)URL. 也许你提前知道所有参考文件 也许你没有。 也许有些是本地文件,有些是远程URL. 也许它们是JSON和YAML格式的混合. 也许有些文件包含相互的交叉引用.

{
  "definitions": {
    "person": {
      // references an external file
      "$ref": "schemas/people/Bruce-Wayne.json"
    },
    "place": {
      // references a sub-schema in an external file
      "$ref": "schemas/places.yaml#/definitions/Gotham-City"
    },
    "thing": {
      // references a URL
      "$ref": "http://wayne-enterprises.com/things/batmobile"
    },
    "color": {
      // references a value in an external file via an internal reference
      "$ref": "#/definitions/thing/properties/colors/black-as-the-night"
    }
  }
}

解决方案:

JSON Schema $Ref Parser 是一个完整的 JSON 参考 财务报告和审定财务报表 JSON 指针 最复杂的执行 JSON 谢马斯 并给你简单直截了当的JavaScript对象.

  • 使用 贾森 或者说 也门 计划,甚至两者的混合!
  • 支助 $ref 指向外部文件和 URL,以及 自定义源 数据库等
  • 可以吗 捆绑 多个文件组成一个只有 内部 $ref 指针
  • 可以吗 调试 生成一个简单易行的 JavaScript 对象
  • 支助 参考文献,嵌入式引用,回溯引用,以及文件之间的交叉引用
  • 保持对象引用平等 - $ref 指向同一值的总是对同一对象的解析
  • 在Node v10, v12, & v14中测试,并在Windows, Mac和Linux上测试了所有主要网页浏览器

示例

$RefParser.dereference(mySchema, (err, schema) => {
  if (err) {
    console.error(err);
  }
  else {
    // `schema` is just a normal JavaScript object that contains your entire JSON Schema,
    // including referenced files, combined into a single object
    console.log(schema.definitions.person.properties.firstName);
  }
})

或使用 async编号 :await 换成语法. 下例与上同

try {
  let schema = await $RefParser.dereference(mySchema);
  console.log(schema.definitions.person.properties.firstName);
}
catch(err) {
  console.error(err);
}

详情请参见 API 文档

安装

使用 无数字 :

npm install @apidevtools/json-schema-ref-parser

使用量

当在 Node.js apps 中使用 JSON Schema $Ref Parser 时,您可能想要使用 常见JS 语法 :

const $RefParser = require("@apidevtools/json-schema-ref-parser");

当使用诸如 宝贝 或者说 类型脚本,或诸如 网络软件包 或者说 滚动,您可以使用 ECMAScript 模块 语法代替 :

import $RefParser from "@apidevtools/json-schema-ref-parser";

如果您使用Node.js < 18, 您需要多填充 fetch一样 节点比对数字 :

import fetch from "node-fetch";

globalThis.fetch = fetch;

浏览器支持

JSON Schema $Ref Parser支持每个主要网页浏览器的最近版本. 旧浏览器可能需要 宝贝 和(或) 多元填充器。 。 。 .

要在浏览器中使用 JSON Schema $Ref Parser, 您需要使用捆绑工具, 如 网络软件包, (中文(简体) ), 滚动, (中文(简体) ), 括号,或 浏览器。有些捆绑者可能需要一些配置,例如设置 browser: true 内 卷起插件溶解。 。 。 .

API 文档

完备的 API 文档 就在这里

捐款

我欢迎任何贡献、增强和错误修正. 打开一个问题 关于 GitHub 和 提交拉动请求。 。 。 .

建筑物/试验

要在您的计算机上本地构建/测试项目:

  1. 克隆这个还原
    git clone https://github.com/APIDevTools/json-schema-ref-parser.git

  2. 安装依赖关系
    npm install

  3. 运行测试
    npm test

许可证

JSON Schema $Ref Parser 是100%的自由和开放源代码,在 麻省理工学院许可证随意使用.

这个软件包是 树件如果你把它用于生产,那么我们要求你 给世界买一棵树 感谢我们的工作。 将会为当地家庭创造就业机会.

谢谢

感谢这些优秀的公司对开源开发商的支持 QQ

Stoplight SauceLabs Coveralls

版本与发布记录

@bcherny/json-schema-ref-parser 共发布 2 个版本,首次发布于 2022/08/06;过去 12 个月发布了 0 个版本。

版本发布日期距今
10.0.5-forklatest2023/02/233 年前
9.0.92022/08/064 年前

关于 @bcherny/json-schema-ref-parser 的常见问题

@bcherny/json-schema-ref-parser 是什么?

解析、解析和引用 JSON Schema $ref 指针

如何安装 @bcherny/json-schema-ref-parser?

在项目目录运行 npm install @bcherny/json-schema-ref-parser,或使用 pnpm add / yarn add / bun add。

@bcherny/json-schema-ref-parser 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bcherny/json-schema-ref-parser 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@bcherny/json-schema-ref-parser 需要什么版本的 Node.js?

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

@bcherny/json-schema-ref-parser 可以商用吗?

@bcherny/json-schema-ref-parser 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bcherny/json-schema-ref-parser 的下载量有多少?

根据 npm 官方下载统计,@bcherny/json-schema-ref-parser 在 2026/10/08 – 2026/11/06 这 30 天内被下载 1,728,877 次,日均约 57,629 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bcherny/json-schema-ref-parser 还在维护吗?

最新版本 10.0.5-fork 发布于 2023/02/23(3 年前);至今共发布 2 个版本,其中过去 12 个月发布了 0 个;首次发布于 2022/08/06。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。