内容简介:Library to verify JSON structure easily using a lightweight JSON schema syntaxThis project results from my need to verify JSON schema in a lightweight manner, without the need for an extensive definition and development code.The schema syntax is minimalist
Verify JSON
Library to verify JSON structure easily using a lightweight JSON schema syntax
About
This project results from my need to verify JSON schema in a lightweight manner, without the need for an extensive definition and development code.
The schema syntax is minimalist and extremely easy to write.
Installation
npm install -s verify-json const verify = require('verify-json') import verify from 'verify-json';
Example
const { verify } = require("verify-json"); let json = { markers: [ { name: "Rixos The Palm Dubai", location: [25.1212, 55.1535], favorite: true, color: "red", }, { name: "Shangri-La Hotel", location: [25.2084, 55.2719], color: "blue", }, ], }; // <key>:<validator> // <key>:!<validator> - uses ! for optional // <key> - required non null attribute of any type // Skip all the quotations const schema = `{markers: [{ name:string, location:[:lat,:long], favorite:!b, color }] }`; // customValidators are optional. See built-in validators. const customValidators = { lat: (val) => val >= -90 && val <= 90, long: (val) => val >= -180 && val <= 180, }; let result = verify(json, schema, customValidators); console.log(result); // true json.markers[0].location[0] = 1000; try { verify(json, schema, customValidators); } catch (error) { console.log("error", error); // json.markers.0.location.0: validation failed }
Built-in Validators
Following validators are built in and can be used directly -
{ string : _.isString, s : _.isString, // alias for string number : _.isNumber, n : _.isNumber, // alias for number boolean : _.isBoolean, b : _.isBoolean, // alias for boolean integer : _.isInteger, i : _.isInteger, // alias for integer func : _.isFunction, f : _.isFunction, // alias for func an : (v) => v.match(/^[a-zA-Z0-9]+$/), // alpha-numeric }
Use as a mixin
Since lodash
is a dependency, this method is also exposed as a lodash mixin. Once imported anywhere, you can simply use _.verify
to access it.
_.verify(json, schema, customValidators)
License
MIT © Yusuf Bhabhrawala
以上所述就是小编给大家介绍的《Verify JSON using minimal schema》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
松本行弘的程式世界
松本行弘 / 鄧瑋敦 / 博碩 / 2010年07月27日
讓Ruby之父教您大師級的程式思考術! 本書以松本行弘先生對程式本質的深層認知、各種技術之優缺點的掌握,闡述Ruby這套程式語言的設計理念,並由此延伸讓您一窺程式設計的奧妙之處。本書內含許多以Ruby、Lisp、Smalltalk、Erlang、JavaScript等動態語言所寫成的範例,從動態語言、函數式程式設計等領域開展您的學習視野。 本書精華: ‧物件導向與抽象化 ‧......一起来看看 《松本行弘的程式世界》 这本书的介绍吧!