标签:string JSON number 关键字 Json JsonSchema 数组 NET type
介绍
JSON Schema是一个用于验证JSON数据的强大工具,可校验json格式和数据值
入门案例
安装Nuget
Install-package Newtonsoft.Json.Schema
代码:
{
string json = @"{
'name':'fan',
'age':'18',
'isGreat':true,
'pets':['ahuang','nainiu'],
'gender':'man',
'description':null
}";
string schemaJson = @"{
""type"":""object"",
""properties"":{
""name"":{
""type"":""string"",
""maxLength"":15
},
""age"":{
""type"":[""number"",""string""]
},
""isGreat"":{
""type"":""boolean""
},
""pets"":{
""type"":""array"",
""items"":{""type"":""string""}
},
""gender"":{
""type"":""string"",
""enum"":[
""man"",
""women""
]
},
""description"":{
""type"":""null""
}
},
""required"":[""name""]
}";
var person = JObject.Parse(json);
var schema = JSchema.Parse(schemaJson);
bool valid = person.IsValid(schema);//true
}
通用关键字
type
type关键字是json模式的基础, 指定架构的数据类型。
JSON Schema的核心定义了以下基本类型:
- string
- number
- object
- array
- boolean
- null
type关键字可以是一个字符串或数组,数组代表可以是多种类型中的一种
{“type”: “number”}
{“type”: [“number”, ‘string’]}
enum
enum关键字用于限制值, 它必须是一个必须包含一个元素的数组,其中每个元素都是唯一的。
$schema
该$schema关键字用于声明JSON片段实际上是JSON模式的一部分。它还声明了针对该模式编写的JSON Schema标准的哪个版本。
pattern
正则表达式
{
“type” : “string” ,
“pattern” : “^(\\([0-9] {3} \\))?[0-9]{3}-[0-9] {4} $ “
}
object关键字
代表一个对象
properties属性
使用properties关键字定义对象上的属性
required属性
required关键字接受一个或多个字符串的数组。每个字符串必须是唯一的。
minProperties、minProperties属性
限制属性数
array关键字
代表一个数组
items
数组元素显示
minItems、minItems
数组长度限制
uniqueItems
数组中的元素必须唯一
参考:
https://www.cnblogs.com/dreamyu/p/9317721.html
标签:string,JSON,number,关键字,Json,JsonSchema,数组,NET,type 来源: https://www.cnblogs.com/fanfan-90/p/16483335.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。