首页 > 编程语言 >python内置库--json

python内置库--json

时间:2023-05-30 22:47:16浏览次数:47  
标签:python py -- json 对象 jsonschema 格式

关于json

JSON 是一种按照 JavaScript 对象语法的数据格式
相关介绍
https://developer.mozilla.org/zh-CN/docs/Learn/JavaScript/Objects/JSON

很多网页和app前后端数据交换的数据的格式就是json,打开F12或者抓包工具就可以看到
image

py的json模块常用函数相关函数介绍

json.dumps(): 根据py对象和json间的转换表,把一个py对象编码为json字符串
json.loads(): 根据py对象和json间的转换表,把一个json字符串解析为py对象

下面是py对象和json类型的对照表
image

image

json.dump(): 根据py对象和json间的转换表,把一个py对象转换成json格式流数据,然后python file-like object的write()方法可把json流数据写入文件

json.load(): 和dump()相反,结合python file-like object的read()方法可把json文件内容读取为一个py对象

image
执行后,可在执行目录下生成一个json文件
image

image

封装一个json类

image
image
image

image

image

image

参照jsonschema的格式规范,我们可以自己写一个json文件,该json文件表明要验证的json文件需要满足的格式,然后利用jsonschema相关函数来验证json文件,若未通过验证,说明格式不符合自定义的json格式规范,会抛出异常jsonschema.exceptions.ValidationError

my_schema.json的内容意思,是说要验证的json文件内容应该是一个数组

jsonschema的相关介绍
https://python-jsonschema.readthedocs.io/en/latest/
https://json-schema.apifox.cn/

执行
image

标签:python,py,--,json,对象,jsonschema,格式
From: https://www.cnblogs.com/MyRecords/p/17444050.html

相关文章

  • 5.30 吐槽
    我,可能无法毕业了今晚和智垚聊了很多他问我:你为毕设花了多少钱?有没有购买过代码?我:没有他问我:你这四年有没有做过什么大型项目?我:没有他问我:你有没有使用ai我说:claude他说:我使用过了,它经常说胡话,还是要靠官网他和我说:你现在的进度就好像我上学期刚开学我可能无法毕业了。......
  • 个人总结
    回顾课程计划:在开学的第一周我打算继续在深入学习javaweb和学好安卓的开发,因为在上学期的时候我的java考试成绩虽然没挂科但是才70分,有点不理想,现在我能独立的完成增删改查javaweb还可以完成一些其他的功能,对于安卓也完成了一个打卡日记的还有铁路的任务。  《构建之法》:......
  • Pie(poj 3122)
    MybirthdayiscomingupandtraditionallyI’mservingpie.Notjustonepie,no,IhaveanumberNofthem,ofvarioustastesandofvarioussizes.Fofmyfriendsarecomingtomypartyandeachofthemgetsapieceofpie.Thisshouldbeonepieceofo......
  • org.springframework.security.authentication.InternalAuthenticationServiceExcepti
    添加如下配置即可1.在pom.xml添加<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.3.6.RELEA......
  • 【Unity】记录一下:自定义组件的InspectorGUI面板,修改数据不保存问题
    使用target修改之后需要使用EditorUtility.SetDirty设置为脏,但是要注意的是应该设置target所指代的组件,而非是对.gameObject设置为脏,这是没有用的。[CustomEditor(typeof(MerryGoRound))]publicclassMerryGoRoundEditor:Editor{publicoverridevoidOnInspectorGUI(......
  • SSTF算法
    oj:https://codefun2000.com/p/P1269学一个新东西multiset里面是排好序的可以存重复的值但是里面的值不能被修改否则就不能排序了可以用lower_bound(x),得到multiset中大于等于x的最小的数的位置autori=q.lower_bound(x)若x比multiset中的任何数字都要大,则会返回q.end......
  • python 操作 xlsx
    目录读取/写入:openpyxldemo1读取/写入:openpyxldemo1importopenpyxlimportos#创建exceldefwrite_excel_xlsx(path,sheet_name,value):ifnotos.path.exists(path):write_new_excel_xlsx(path,sheet_name,value)else:append_write_exc......
  • 题解 AT_nikkei2019ex_e【コラッツ問題】
    啥玩意,诈骗题还能这么诈骗。\(f(X)\)就是角谷猜想(冰雹猜想)所需的步数。根据角谷猜想,定义函数\(g\):\[g(X)=\begin{cases}\frac{X}{2},&2\midX\\3X+1,&2\nmidX\end{cases}\]则显然有\(f(g(X))=f(X)-1\)。样例二已经给出了\(f(X)=1000\)的解\(X=1789997546303\),而\(P......
  • CMU_15_445_project_1_buffer_pool
    CMU_15_445_project_1_buffer_poolOverview实现一个基于磁盘的存储管理器,其中包括一个缓冲池。缓冲池是数据库管理器在主存中分配的一块区域,用于缓存从磁盘读取的表和索引数据。缓冲池可以让数据库支持比可用内存大的数据,并且对其他系统部分是透明的。缓冲池可以减少数据库文件......
  • js中的宏任务和微任务
    一、初识宏任务和微任务在JavaScript中,有两类异步任务队列:宏任务队列(macrotasks)和微任务队列(microtasks)。宏任务队列可以有多个,微任务队列只有一个。1、宏任务(macrotasks):就是JS内部(任务队列里)的任务,严格按照时间顺序压栈和执行。如:script(全局任务)、setTimeout、setInterval、s......