Pyhon基础知识之Json序列化与反序列化
2021-02-18 19:18
标签:ict lse info color href 精简 显示 键值 自动化 做接口测试的时候,我通常需要对返回的数据转换成json格式的字符串,这样通常使用到json库,而json模块四个方法:dump、dumps、load、loads。其中dump和load是操作文件,dumps和loads是操作python对象的。 前面说过python对象包括三个基本要素:唯一身份识别(id),类型(type)和值(value)。 而python3类型有6个标准的数据类型: Python3 的六个标准数据类型中: 运行结果: 运行结果: 运行结果 如果是json格式的数据,打印出来就是一行,显然不雅观,如果想美化一下,可以这样: 输出结果: 参数解析: 1、sort_keys是告诉编码器按照字典key排序(a到z)输出。 2、indent参数根据数据格式缩进显示,读起来更加清晰, indent的值,代表缩进空格式: 3、separators参数的作用是去掉‘,’ ‘:’后面的空格,在传输数据的过程中,越精简越好,冗余的东西全部去掉。 4、输出真正的中文需要指定ensure_ascii=False,如果无任何配置,或者说使用默认配置,输出的会是‘凉凉’的ASCII字符吗,而不是真正的中文。这是因为json.dumps 序列化时对中文默认使用的ascii编码。 如图: json序列化与反序列化的知识基本上就是这些,在以后做接口测试中会经常用到,其实在文章(接口实战篇)里我已经用到这些。打好基础,以后会更得心应手。 另外,对测试开发,自动化测试,全栈测试相关技术感兴趣的朋友,可以加入到群里学习和探索交流,进群方式,扫下方二维码。 Pyhon基础知识之Json序列化与反序列化 标签:ict lse info color href 精简 显示 键值 自动化 原文地址:https://www.cnblogs.com/liudinglong/p/12937884.html 引言
知识点
序列化:json.dumps()将python对象转化成json字符串
import json
a = {‘a‘:1,‘b‘:2}
to_json = json.dumps(a,indent=True)
print(to_json)
print(type(to_json))
{
"a": 1,
"b": 2
}
反序列化:json.loads()将json字符串转化python对象
import json
a = {‘a‘:1,‘b‘:2}
to_json = json.dumps(a,indent=True)
print(to_json)
print(type(to_json))
to_str = json.loads(to_json)
print(to_str)
print(type(to_str))
{
"a": 1,
"b": 2
}
Json序列化与反序列化(其他类型)
‘‘‘json的序列化与反序列化
json格式的字符串类型
json序列化:把python的数据类型转换为json的字符串
json反序列化:把json的字符串转换为python的数据类型
‘‘‘
‘‘‘字典的序列化与反序列化‘‘‘
# 字典的序列化
import json
dict1 = {‘name‘: ‘AI‘, ‘age‘: 18, ‘address‘: ‘beijing‘} # 注意:字典类型中,键值都是单引号,而json格式,是双引号
new = json.dumps(dict1)
print(new, type(new))
# 运行结果如下:
# {"name": "AI", "age": 18, "address": "beijing"}
{"name": "AI", "age": 18, "address": "beijing"}
json.dumps格式化输出
data={
"msgBody":{
"data":
{
"imgType": "",
"imgURL": "image url",
"imgLike": 0.5
}
},
"msgHead":{
"Token": "",
"Code": "",
"rmsg": "hello",
}
}
data = json.dumps(data, sort_keys=True, indent=4, separators=(‘, ‘,‘: ‘))
print(data)
总结
上一篇:jQuery实现横向滚动切换选中
下一篇:web安全之XSS攻击原理及防范
文章标题:Pyhon基础知识之Json序列化与反序列化
文章链接:http://soscw.com/index.php/essay/57180.html