序列化和反序列化

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))

 

 

以上是关于序列化和反序列化的主要内容,如果未能解决你的问题,请参考以下文章

python代码实现二叉树的序列化和反序列化

序列化和反序列化的示例代码

Django REST framework序列化

rest_framework

csharp 此代码演示了json序列化和反序列化的4种方法

Django REST framework 基本组件