首页 > 其他分享 > JSON Schema

JSON Schema

时间:2022-08-25 19:35:27浏览次数:140  
标签:验证 json JSON https Schema schema

.net 项目使用 JSON Schema

 

最近公司要做配置项的改造,要把appsettings.json的内容放到数据库,经过分析还是用json的方式存储最为方便,项目改动性最小,这就牵扯到一个问题,怎么验证json的格式:

最终考虑两种方案供大家参考:

第一,建立对应的实体类,反序列化之后再序列化成json字符串,这样可以在结构上保证对应json串的格式不出错,但是不好验证内容的正确性。一定程度上保证了数据的正确性,再加上使用这个功能的人员也都是相关的技术人员,有一定的可行性。代码上的快,人一定很帅,上代码:

第二,JSON Schema的方式来验证json格式,那简直就是为你而生为你而来,什么是json schema呢?咱们先通过下面好好了解一下:

>(百度百科) 什么是json Schema:
jsonschema是描述你的JSON数据格式;JSON模式(应用程序/模式+ JSON)有多种用途,其中之一就是实例验证。验证过程可以是交互式或非交互式的。

话不多说,先上代码,让我们一睹她的面容:

这不也是json吗,还搞得这么神秘?
对,就是json,是描述json格式的json。
那我们就开始对这个json分解,慢慢欣赏.
type,properties,required都是干嘛的呢?
先留给你们几分钟自己了解下:
https://www.cnblogs.com/dreamyu/p/9317721.html

看到这里,想必大家对json Schema不再陌生了吧。是不是更想了解她,得到她呢?下面我就给大家介绍一个工具来生成她,程序员做梦都想的一个事情就是new一个女朋友,这就来了:

这里以Newtonsoft.Json.Schema为例子:

类名举个例子为:Building

DataTypeAttribute 类 请参考:
https://docs.microsoft.com/zh-cn/dotnet/api/system.componentmodel.dataannotations.datatypeattribute?view=net-6.0

生成的schema为:

这是这么简单就得到了我们的女主角schema, 让我们的schema生出我们对应的json吧。还需要一个工具:

https://form.lljj.me/index.html#/demo?ui=VueElementForm&type=Simple

拿到我们的json数据:

怎么验证到底是不是亲生的呢?肯定要后台验证了:

valid 就是化验结果了,此时拿到结果的我确有点犹豫了。。。

  标签: json schema  

标签:验证,json,JSON,https,Schema,schema
From: https://www.cnblogs.com/Leo_wl/p/16625468.html

相关文章

  • 实现格式化 JSON 字符串并有代码高亮的例子
    字符串转换HTMLfunctionformatJson(json){letregexp=/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)......
  • Json
    1.概述概念:JavaScriptObjectNotation(JavaScript对象表示法)。JSON和JS对象的格式一样,它使用JS语法,只不过JSON字符串中的属性名必须加双引号。json现在多用于存储和......
  • 6. json--注释
    1.前言JSON是一种纯粹的数据交换格式,其简单、灵活的特性使得JSON适合被用于各种不同的场景,例如在配置文件中、在接口返回的数据中都会用到JSON格式。然而JSON却有......
  • python json用法 dump和dumps的区别;loads()和load()的区别
    json常用方法方法作用json.dumps()将python对象编码成Json字符串json.loads()将Json字符串解码成python对象json.dump()将python中的对象转化成json储存到......
  • 5. json--数组
    1.前言数组是值的有序集合,JSON中的数组与JavaScript中的数组相似,同样需要使用方括号[]定义,方括号中为数组中的若干值,值可以是JSON中支持的任意类型(例如字符串、数字......
  • 2. json语法规则
    1.前言JSON的语法与JavaScript中的对象很像,在JSON中主要使用以下两种方式来表示数据:Object(对象):键/值对(名称/值)的集合,使用花括号{}定义。在每个键/值对中,以键开头......
  • 学会了JsonPath,你的Python接口脚本才算完整
    每天进步一点点,关注我们哦,每天分享测试技术文章本文章出自【码同学软件测试】码同学公众号:自动化软件测试,领取资料可加:magetest码同学抖音号:小码哥聊软件测试01Jsonpat......
  • 前端解决跨域问题的方法:jsonp
    同源策略同源策略/SOP(Sameoriginpolicy)是一种约定,是浏览器最核心也最基本的安全功能,现在所有支持JavaScript的浏览器都会使用这个策略。如果缺少了同源策略,浏览器很容......
  • curl 返回json 并格式化
    应用curlhttp://url/path|python-mjson.tool例子curl'http://localhost:9090/api/v1/targets?state=active'|python-mjson.tool%Total%Received%X......
  • mysql增删改查json中的某个字段
    创建表1CREATETABLEt_json(idINTPRIMARYKEY,NAMEVARCHAR(20),infoJSON);插入记录1INSERTINTOt_json(id,sname,info)VALUES(1,'test','{"time":"20......