Python中json自定义jsonschema进行json数据格式校验
一.python中jsonschma库
python中有时候我们想对json数据进行键值对(key,value)数据的数据格式进行校验,因为数据类型不符合业务逻辑会导致业务逻辑代码执行报错,这时候我们可以对传入的json数据格式定义一个schema,定义数据模式,然后通过schema对data进行校验,python中我们进行进行如下校验:
# _*_ coding: utf-8 _*_
# !/usr/bin/pythonimport jsonschemaschema = {"type": "object","properties": {"version_no": {"type": "string"},"versions": {"type": "array","minItems": 1,"items": {"type": "object","required": ["name", "type"],"properties": {"name": {"type": "string","minLength": 1},"type": {"type": "string","enum": ["python", "java"]},"size": {"type": "number",},}}},},"required": ["version_no", "versions"]
}data = {"version_no": "x123","versions": [{"name": "jack","type": "python","size": 123},{"name": "will","type": "java",}]
}def schema_check(data, schema):try:jsonschema.validate(data, schema)print("data中数据通过自定义的json schema校验")except jsonschema.exceptions.ValidationError as e:print(e.message, "data数据没有通过schema格式校验")schema_check(data, schema)输出结果:
'php' is not one of ['python', 'java'] data数据没有通过schema格式校验
Process finished with exit code 0
Python中json自定义jsonschema进行json数据格式校验相关推荐
- python中matplotlib自定义设置图像标题使用的字体类型:获取默认的字体族及字体族中对应的字体、自定义设置图像标题使用的字体类型
python中matplotlib自定义设置图像标题使用的字体类型:获取默认的字体族及字体族中对应的字体.自定义设置图像标题使用的字体类型 目录
- Python中的自定义进程和进程池
Python中的自定义进程和进程池 文章目录 Python中的自定义进程和进程池 一.自定义进程 1.步骤: 2.例 进程池 1.概念 2.介绍--multiprocess.Pool 3.非阻塞式进程 ...
- Python中的自定义模块
Python中的模块 一.前言 二.模块的概述 三.自定义模块 1.创建模块 2.使用import语句导入模块 3.使用from...import语句导入模块 一.前言 在Python提供了强大的 ...
- python中的自定义模块及其使用
python中的自定义模块及其使用 python中的自定义模块,就不是python自带的模块,而是通过自己来创建出来的. 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长, ...
- python读取多行json_如何在Python中读取包含多个JSON对象的JSON文件?
所以这是在python中读取JSON文件的标准方法 import json from pprint import pprint with open('ig001.json') as data_file ...
- java json自定义_java返回json设置自定义的格式
springMvc返回Json中自定义日期格式 (一)输出json数据 springmvc中使用jackson-mapper-asl即可进行json输出,在配置上有几点: 1.使用mvc:annota ...
- python中如何自定义函数_Python中自定义函数的教程
在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 我们以自定义一个求绝对值的my_abs函数 ...
- python中func自定义函数_Python函数之自定义函数作用域闭包
一 前言 1.1 为什么要用函数 代码的组织结构更清晰,可读性好: 遇到重复的功能不需要重新编写代码,调用函数即可,代码不会冗余: 功能需要扩展时,只需要修改函数内容即可,实现统一管理,降低代码维护难 ...
- python中如何对复杂的json数据快速查找key对应的value值(使用JsonSearch包)
前言 之前在实际的项目研发中,需要对一些复杂的json数据进行取值操作,由于json数据的层级很深,所以经常取值的代码会变成类似这样: value = data['store']['book'][0] ...
最新文章
- 2020中国人工智能年度评选报名即将截止!4大类别7大奖项开放申请
- 自定义hybris生成订单的ID格式
- 设计模式之Builder
- python读取多个文件夹图片_python或C++读取指定文件夹下的所有图片
- 《程序员修炼之道:从小工到专家》阅读笔记03
- android 首页广告显示不出来的,android – Admob插页式广告(全屏)不会显示
- mysql数据库表名批量改为小写,MySQL 批量修改表名
- 冻结html表格标题列,jQuery实现冻结表头的方法
- AX 2012 键盘快捷键
- win10跳过计算机密码,Win10怎么取消开机密码?Win10如何跳过开机密码?
- ant中修改a-switch的大小、修改a-checkbox的大小
- http响应报文,如果响应的内容比较大,客户端怎么样判断接收完了呢?
- 输了腾讯赢了阿里:凭借27天超强度复习Java核心知识+面试神技,三面阿里斩获P6岗offer(飞猪事业部)
- android ui web,AndroidUI4Web:最适合Android开发者的WebApp框架
- 带负荷测试要求二次最小电流_带负荷测向量
- 布尔教育php视频下载,布尔教育2016视频:PHP留言板制作教程
- 杰理之测试盒蓝牙连接提示音使能【篇】
- Zotero(超好用的文献管理软件)安装+坚果云同步配置教程+常用插件介绍(全面)
- 陶瓷电容器的失效分析
- 计算机三级数据库安全管理(一)、授权语句、WITH GRANT OPTION、guest、用户定义的数据库角色、Oracle安全管理、收权语句、安全管理、数据库用户、角色、用户分类、GRANT
热门文章
- 【第五篇】SAP ABAP7.50 之subscreen
- Makefile.win recipe for target ‘C:/Users/acer/Desktop/xxx.o‘ failed
- Matlab编程技巧:通过Matlab管理git
- checksum mysql_checksum
- js 阿拉伯数字转化为中文数字
- 结构体(统计学生成绩)
- pdf文件转doc文件
- 视频号成长社群「DO视社」
- 统计学习一:数据的图表展示
- 云服务器架设网站教程_手把手教你搭建腾讯云服务器入门(图文教程)