序列化和反序列化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了序列化和反序列化相关的知识,希望对你有一定的参考价值。
序列化:把python的基本数据类型转化为字符串,通过json.dumps来实现
1 import json 2 dic={‘k1‘:‘v1‘} 3 print(dic,type(dic)) 4 result=json.dumps(dic) #把字典转化为字符串 5 print(result,type(result))
1 输出: 2 {‘k1‘: ‘v1‘} <class ‘dict‘> 3 {"k1": "v1"} <class ‘str‘>
反序列化:把python的字符串转化为python的基本数据类型,通过json.loads来实现
1 import json 2 s1=‘{"k1":123}‘ #类似于一个字典的字符串 3 print(s1,type(s1)) 4 s2=json.loads(s1) #反序列化为一个真正的字符串 5 print(s2,type(s2)) 6 输出 7 {"k1":123} <class ‘str‘> 8 {‘k1‘: 123} <class ‘dict‘>
序列化的应用:当我们发送一个http请求给某网站时时,会返回给我们一个字符串。为了取值方便,我们通常把字符串转化为Python某个数据类型。
1 通过json来获取天气指数 2 import requests #用于发送http请求 3 import json 4 response = requests.get(‘http://wthrcdn.etouch.cn/weather_mini?city=北京‘) #通过requests发起一个请求,得到一个返回值给response 5 print(type(response.text)) #response.text是一个类似于数据字典的字符串,记录着北京的天气 6 response.encoding=‘utf-8‘ 7 dic=json.loads(response.text) #把response.text序列化为一个字典,方便我们取值 8 print(type(dic))
以上是关于序列化和反序列化的主要内容,如果未能解决你的问题,请参考以下文章