json 定义

轻量级的数据交换格式

友好、易于读写:对机器友好,易于解析和生成

由列表和字典组成

使用场景

  • 生成:讲对象生成为字符串,存入文件、数据库,在网络传输等
  • 解析:解析来自文件、数据库、网络传输的字符串成 Python 对象
  • 跨语言的数据交换:Python 与 Java 等其他语言的数据交互

json 库

Python 内置库,无需安装。

具体的使用方式:Python JSON | 菜鸟教程

其中最为常用的场景就是

  1. 接口自动化测试脚本的数据格式转化。因为前后端分离开发,后端传递数据最为常用的格式就是 json,所以往往给请求体传参时,需要先转化为 json格式
  2. 在调试代码时,用于美化 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格式转化相关推荐

  1. python json格式和csv文件转换

    python json格式和csv文件转换 上代码 1 import csv 2 import json 3 4 ''' 5 json格式示例 6 [{ "firstName":& ...

  2. 数据传输:json格式序列化与反序列化(将类转化为json格式与将json格式转化为类)

    数据传输:json格式序列化与反序列化(将类转化为json格式与将json格式转化为类) 在最近的实验中,使用了json来传送客户端与服务端的信息,之前原本想使用自己定义的格式,但是使用json可以将 ...

  3. python json格式转换_Python实现把json格式转换成文本或sql文件

    python如何将json格式的数据快速的转化成指定格式的数据呢?或者转换成sql文件? 下面的例子是将json格式的数据准换成以#_#分割的文本数据,也可用于生成sql文件. [root@bogon ...

  4. labelme的 json格式转化成自己的json格式

    labelme的json格式: {"version": "4.5.6","flags": {},"shapes": [{ ...

  5. Python JSON格式与字符串转换(字符串转json、json转字符串)

    1. 字符串转为JSON 源代码: import jsonstr = ''' [{"name": "Tom","gender": " ...

  6. python视频格式转化

    话不多说,直接上代码 pip install PythonVideoConverter ffmpegPath = r"C:\Users\Administrator\Desktop\ffmpe ...

  7. Python月份格式转化

    [问题描述] 输出给定月份数字对应的月份名称缩写. 要求:输入一个表示月份的数字(1-12),输出其对应月份名称的缩写 举例:输入3,程序输出Mar. 方法:利用字符串剪切操作来实现该功能 将所有的月 ...

  8. python GMT时间格式转化

    1.datetime类型转换成GMT时间格式的字符串(如'Thu, 19 Feb 2009 16:00:07 GMT'),strftime(官方释义:new string) : from dateti ...

  9. json格式的简单转换

    JSON:ajax向客户端响应的内容有多个值或是一个对象时,人们提供了一项技术json   json的基本格式是:{"id":1001,"name":" ...

最新文章

  1. 机器学习与统计学的争论,有意义吗?
  2. AngularJs学习之ng-repeat-start,ng-repeat-end 指令
  3. 十六进制转byte变负数
  4. sql科学计数法转换为普通数字_一张图读懂Python3的Number(数字)类型
  5. 前端学习(2477):封装数据接口
  6. mysql 时间戳 2038_mysql数据库的timestamp为什么从1970到2038的某一时间?某一时间是指什么时间?过了这个时间之后怎么办?-问答-阿里云开发者社区-阿里云...
  7. Android 使用imageLoader来加载显示图片
  8. nginx +php-fpm 发挥更大的php作用
  9. Linux网络协议栈:NAPI机制与处理流程分析(图解)
  10. C++11的POD类型
  11. spark reduce与reduceByKey的区别
  12. Python入门+进阶 第1章 Python入门导学(无论何时,只要开始就不晚)
  13. BZOJ 2957 分块
  14. AX2012 常用表关系(客户地址,联系信息)
  15. 湘潭大学计算机分数线,湘潭大学录取分数线2021是多少分(附历年录取分数线)
  16. win7安装android驱动失败怎么办,win7未能成功安装设备驱动程序怎么办
  17. Python对二维矩阵沿主对角线(次对角线)翻转变换代码实现
  18. vue element-ui 项目使用双色主题(白天,黑夜模式)
  19. rtthread在cortex-m4架构芯片的启动流程
  20. 上海CISA认证考试考前辅导讲座圆满结束

热门文章

  1. VMware vSphere Documentation(产品文档)
  2. Spring Boot学习总结(11)——SpringBoot的Starter依赖包及作用
  3. Java基础学习总结(76)——Java异常深入学习研究
  4. java spring获取bean_普通Java类获取Spring的Bean的方法
  5. 精益画布_这6本书让你成为精益高手
  6. Java基础系列13:JDBC批处理简介
  7. [转] Figuring out why my SVCHOST.EXE is at 100% CPU without complicated tools in Windows 7
  8. D3DXMatrixMultiply 函数
  9. ListView的两种使用方法--Android学习笔记
  10. Linux 生产者消费者简单例子学习