Python3之json模块

前言

在学习接口测试时,经常会遇到json数据,比如对content-type为application/json的接口进行接口测试,Python直接传字典会报错,在Python中json是什么数据类型呢?
Python3 中有六个标准的数据类型:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

json模块概念理解

json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串)

  • json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串)
  • json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将字符串转化为字典)
实例
import json
dict1 = {'age':16} #这是一个字典
print("原来的类型:",type(dict1))
str_json = json.dumps(dict1) #将字典转换为json(字符串)
print("经过json.dumps()转换后类型变为:",type(str_json))
dict2 = json.loads(str_json) #将json(字符串)转换为字典
print("经过json.loads()转换后类型变为:",type(dict2))

输出

原来的类型: 
经过json.dumps()转换后类型变为: 
经过json.loads()转换后类型变为: 

补充

json.dumps 中的参数 ensure_ascii=False 意思是不把中文进行转义,即显示中文

my_list_two = {"name": "秦始皇", "age": 12}
print(json.dumps(my_list_two, ensure_ascii=False))
print(json.dumps(my_list_two))
#output
{"name": "秦始皇", "age": 12}
{"name": "\u79e6\u59cb\u7687", "age": 12}

你可能感兴趣的:(Python3之json模块)