一.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数据格式校验相关推荐

  1. python中matplotlib自定义设置图像标题使用的字体类型:获取默认的字体族及字体族中对应的字体、自定义设置图像标题使用的字体类型

    python中matplotlib自定义设置图像标题使用的字体类型:获取默认的字体族及字体族中对应的字体.自定义设置图像标题使用的字体类型 目录

  2. Python中的自定义进程和进程池

    Python中的自定义进程和进程池 文章目录 Python中的自定义进程和进程池 一.自定义进程 1.步骤: 2.例 进程池 1.概念 2.介绍--multiprocess.Pool 3.非阻塞式进程 ...

  3. Python中的自定义模块

    Python中的模块 一.前言 二.模块的概述 三.自定义模块 1.创建模块 2.使用import语句导入模块 3.使用from...import语句导入模块 一.前言   在Python提供了强大的 ...

  4. python中的自定义模块及其使用

    python中的自定义模块及其使用 python中的自定义模块,就不是python自带的模块,而是通过自己来创建出来的. 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长, ...

  5. python读取多行json_如何在Python中读取包含多个JSON对象的JSON文件?

    所以这是在python中读取JSON文件的标准方法 import json from pprint import pprint with open('ig001.json') as data_file ...

  6. java json自定义_java返回json设置自定义的格式

    springMvc返回Json中自定义日期格式 (一)输出json数据 springmvc中使用jackson-mapper-asl即可进行json输出,在配置上有几点: 1.使用mvc:annota ...

  7. python中如何自定义函数_Python中自定义函数的教程

    在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 我们以自定义一个求绝对值的my_abs函数 ...

  8. python中func自定义函数_Python函数之自定义函数作用域闭包

    一 前言 1.1 为什么要用函数 代码的组织结构更清晰,可读性好: 遇到重复的功能不需要重新编写代码,调用函数即可,代码不会冗余: 功能需要扩展时,只需要修改函数内容即可,实现统一管理,降低代码维护难 ...

  9. python中如何对复杂的json数据快速查找key对应的value值(使用JsonSearch包)

    前言 之前在实际的项目研发中,需要对一些复杂的json数据进行取值操作,由于json数据的层级很深,所以经常取值的代码会变成类似这样: value = data['store']['book'][0] ...

最新文章

  1. 2020中国人工智能年度评选报名即将截止!4大类别7大奖项开放申请
  2. 自定义hybris生成订单的ID格式
  3. 设计模式之Builder
  4. python读取多个文件夹图片_python或C++读取指定文件夹下的所有图片
  5. 《程序员修炼之道:从小工到专家》阅读笔记03
  6. android 首页广告显示不出来的,android – Admob插页式广告(全屏)不会显示
  7. mysql数据库表名批量改为小写,MySQL 批量修改表名
  8. 冻结html表格标题列,jQuery实现冻结表头的方法
  9. AX 2012 键盘快捷键
  10. win10跳过计算机密码,Win10怎么取消开机密码?Win10如何跳过开机密码?
  11. ant中修改a-switch的大小、修改a-checkbox的大小
  12. http响应报文,如果响应的内容比较大,客户端怎么样判断接收完了呢?
  13. 输了腾讯赢了阿里:凭借27天超强度复习Java核心知识+面试神技,三面阿里斩获P6岗offer(飞猪事业部)
  14. android ui web,AndroidUI4Web:最适合Android开发者的WebApp框架
  15. 带负荷测试要求二次最小电流_带负荷测向量
  16. 布尔教育php视频下载,布尔教育2016视频:PHP留言板制作教程
  17. 杰理之测试盒蓝牙连接提示音使能【篇】
  18. Zotero(超好用的文献管理软件)安装+坚果云同步配置教程+常用插件介绍(全面)
  19. 陶瓷电容器的失效分析
  20. 计算机三级数据库安全管理(一)、授权语句、WITH GRANT OPTION、guest、用户定义的数据库角色、Oracle安全管理、收权语句、安全管理、数据库用户、角色、用户分类、GRANT

热门文章

  1. 【第五篇】SAP ABAP7.50 之subscreen
  2. Makefile.win recipe for target ‘C:/Users/acer/Desktop/xxx.o‘ failed
  3. Matlab编程技巧:通过Matlab管理git
  4. checksum mysql_checksum
  5. js 阿拉伯数字转化为中文数字
  6. 结构体(统计学生成绩)
  7. pdf文件转doc文件
  8. 视频号成长社群「DO视社」
  9. 统计学习一:数据的图表展示
  10. 云服务器架设网站教程_手把手教你搭建腾讯云服务器入门(图文教程)