JSON Schema 是一种用于验证 JSON 数据结构的描述性语言,它可以帮助开发者在编写应用时更好地理解和处理数据。npm 包 json-schema 就是一个用于处理 JSON Schema 的库。
安装
使用 npm 进行安装:
--- ------- -----------
使用
校验数据
以下是一个简单的示例,演示了如何使用 json-schema 校验 JSON 数据:
----- --------- - --------------------------------- ----- - - --- ------------ ----- ------ - - ------- --------- ----------- -------- ------- ------------- - ------- - ------- -------- -- ------ - ------- --------- ---------- -- - - -- ----- ---- - - ------- ----- ----- ------ -- -- ----- ------ - ---------------- -------- -- -------------- - ----------------- -- -------- - ---- - ----------------- -- --- ------ -- --------------- -
上述代码定义了一个 JSON Schema 对象 schema
,并使用 Validator
对象来创建一个实例 v
。然后将要校验的数据对象 data
传递给 validate()
方法并指定对应的 JSON Schema 对象 schema
,返回的结果是一个包含校验结果的 ValidationError
对象。如果数据是有效的,则 valid
属性的值为 true。
在此示例中,我们定义了一个对象类型 object
,并指定了两个必需属性 name
和 age
。此外,我们还指定了 name
的类型为字符串,age
的类型为数字,并且有一个最小值限制(18)。
更高级的校验
以下示例演示了如何使用更高级的 JSON Schema 校验功能:
----- --------- - --------------------------------- ----- - - --- ------------ ----- ------ - - ------- --------- ----------- ----------- ------------- - --------- - ------- --------- ------------- - ------- - ------- -------- -- ------ - ------- --------- ---------- -- -- --------- - ------- -------- --------- -- ---------- - ------- --------- ------------- - ------- - ------- -------- -- -------- - ------- -------- -- ---------- - ------- -------- - -- ----------- -------- -------- ---------- - -- ----------- -------- ------ --------- ---------- - - -- ----- ---- - - --------- - ------- ----- ----- ------ --- --------- ------- ---------- - ------- ---- ------ -------- ----- ---------- ----- - - -- ----- ------ - ---------------- -------- -- -------------- - ----------------- -- -------- - ---- - ----------------- -- --- ------ -- --------------- -
在此示例中,我们定义了一个更复杂的 JSON Schema 对象 schema
。它包含一个 person
对象,该对象有 name
、age
、gender
和 address
四个属性。gender
属性使用 enum
关键字指定了可选值列表。address
属性是一个嵌套的对象,其中包含了 city
、state
和 country
三个必需属性。
当 data
对象被校验时,所有 required
属性都会被检查是否存在。如果存在,则继续检查属性值是否符合其指定的类型和其他限制条件。如果数据是有效的,则 valid
属性的值为 true。
总结
使用 npm 包 json-schema 可以轻松地验证 JSON 数据结构的正确性。本文
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/40703