02-03 Python json格式转化
json
定义
轻量级的数据交换格式
友好、易于读写:对机器友好,易于解析和生成
由列表和字典组成
使用场景
- 生成:讲对象生成为字符串,存入文件、数据库,在网络传输等
- 解析:解析来自文件、数据库、网络传输的字符串成 Python 对象
- 跨语言的数据交换:Python 与 Java 等其他语言的数据交互
json 库
Python 内置库,无需安装。
具体的使用方式:Python JSON | 菜鸟教程
其中最为常用的场景就是
- 接口自动化测试脚本的数据格式转化。因为前后端分离开发,后端传递数据最为常用的格式就是 json,所以往往给请求体传参时,需要先转化为 json格式
- 在调试代码时,用于美化 json格式:
return json.dumps(r.json(), indent=2, ensure_ascii=False)
def close_return_detail_and_release(self):"""对状态为-B2B已退回的订单,进行关闭明细,并释放:return:"""url = self.ip + "/api/scm/auth/scm/scmPoD/close.do"# 获取状态为 B2B退回 的采购订单明细mat_list = self.order_detail_search_by_status("Returned")["data"]["list"][0]# 获取订单明细的 id, poCodedetail_id, po_code = mat_list["id"], mat_list["poCode"]dbObjJson = [{"id": detail_id,"haveBusiness": True,"canClose": False,"poCode": po_code,}]# 将 dbObjJson 转换为 json 格式dbObjJson = json.dumps(dbObjJson, ensure_ascii=False, indent=2)params = {"dbObjJson": dbObjJson,"reason": "接口自动化测试-关闭明细","isRelease": "true","skipWarn": "false",}r = self.s.post(url=url, params=params)# 美化json数据格式 indent=2:缩进2个空格;ensure_ascii=False:中文转义# return json.dumps(r.json(), indent=2, ensure_ascii=False)return r.json()
注意事项
关于 TypeError: Object of type date is not JSON serializable
的报错:
在python中出现了这个错误的根本原因是:json.dumps()不能对{}的datetime时间格式数据进行转化。
dumps的本来功能是将dict转化为str格式,并不支持转化时间,其实出现这个问题的解决方式很简单解决方法:
解决方法:
在特殊的时间格式数据加上str(),强行转换为字符串,然后再执行请求即可解决错误
链接
02-03 Python json格式转化相关推荐
- python json格式和csv文件转换
python json格式和csv文件转换 上代码 1 import csv 2 import json 3 4 ''' 5 json格式示例 6 [{ "firstName":& ...
- 数据传输:json格式序列化与反序列化(将类转化为json格式与将json格式转化为类)
数据传输:json格式序列化与反序列化(将类转化为json格式与将json格式转化为类) 在最近的实验中,使用了json来传送客户端与服务端的信息,之前原本想使用自己定义的格式,但是使用json可以将 ...
- python json格式转换_Python实现把json格式转换成文本或sql文件
python如何将json格式的数据快速的转化成指定格式的数据呢?或者转换成sql文件? 下面的例子是将json格式的数据准换成以#_#分割的文本数据,也可用于生成sql文件. [root@bogon ...
- labelme的 json格式转化成自己的json格式
labelme的json格式: {"version": "4.5.6","flags": {},"shapes": [{ ...
- Python JSON格式与字符串转换(字符串转json、json转字符串)
1. 字符串转为JSON 源代码: import jsonstr = ''' [{"name": "Tom","gender": " ...
- python视频格式转化
话不多说,直接上代码 pip install PythonVideoConverter ffmpegPath = r"C:\Users\Administrator\Desktop\ffmpe ...
- Python月份格式转化
[问题描述] 输出给定月份数字对应的月份名称缩写. 要求:输入一个表示月份的数字(1-12),输出其对应月份名称的缩写 举例:输入3,程序输出Mar. 方法:利用字符串剪切操作来实现该功能 将所有的月 ...
- python GMT时间格式转化
1.datetime类型转换成GMT时间格式的字符串(如'Thu, 19 Feb 2009 16:00:07 GMT'),strftime(官方释义:new string) : from dateti ...
- json格式的简单转换
JSON:ajax向客户端响应的内容有多个值或是一个对象时,人们提供了一项技术json json的基本格式是:{"id":1001,"name":" ...
最新文章
- 机器学习与统计学的争论,有意义吗?
- AngularJs学习之ng-repeat-start,ng-repeat-end 指令
- 十六进制转byte变负数
- sql科学计数法转换为普通数字_一张图读懂Python3的Number(数字)类型
- 前端学习(2477):封装数据接口
- mysql 时间戳 2038_mysql数据库的timestamp为什么从1970到2038的某一时间?某一时间是指什么时间?过了这个时间之后怎么办?-问答-阿里云开发者社区-阿里云...
- Android 使用imageLoader来加载显示图片
- nginx +php-fpm 发挥更大的php作用
- Linux网络协议栈:NAPI机制与处理流程分析(图解)
- C++11的POD类型
- spark reduce与reduceByKey的区别
- Python入门+进阶 第1章 Python入门导学(无论何时,只要开始就不晚)
- BZOJ 2957 分块
- AX2012 常用表关系(客户地址,联系信息)
- 湘潭大学计算机分数线,湘潭大学录取分数线2021是多少分(附历年录取分数线)
- win7安装android驱动失败怎么办,win7未能成功安装设备驱动程序怎么办
- Python对二维矩阵沿主对角线(次对角线)翻转变换代码实现
- vue element-ui 项目使用双色主题(白天,黑夜模式)
- rtthread在cortex-m4架构芯片的启动流程
- 上海CISA认证考试考前辅导讲座圆满结束
热门文章
- VMware vSphere Documentation(产品文档)
- Spring Boot学习总结(11)——SpringBoot的Starter依赖包及作用
- Java基础学习总结(76)——Java异常深入学习研究
- java spring获取bean_普通Java类获取Spring的Bean的方法
- 精益画布_这6本书让你成为精益高手
- Java基础系列13:JDBC批处理简介
- [转] Figuring out why my SVCHOST.EXE is at 100% CPU without complicated tools in Windows 7
- D3DXMatrixMultiply 函数
- ListView的两种使用方法--Android学习笔记
- Linux 生产者消费者简单例子学习