python之json用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之json用法相关的知识,希望对你有一定的参考价值。
五:python数列化和反序列化
把python的对象编码转换为json格式的字符串,反序列化可以理解为:把json格式
字符串解码为python数据对象。在python的标准库中,专门提供了json库
导入,查看json库的主要方法
import json print(json.__all__)
见json库的主要方法:
[‘dump‘, ‘dumps‘, ‘load‘, ‘loads‘, ‘JSONDecoder‘, ‘JSONEncoder‘]
json.dumps():把原python字典类型转化成josn字符串
定义一个字典,通过json把它序列化为json格式的字符串,见实现的代码
import json dict1={‘name‘:‘leizi‘,‘age‘:24,‘address‘:‘北京‘} print (u‘未序列化前的数据类型为:‘,type(dict1)) print (u‘未序列化前的数据:‘,dict1) #对dict1进行序列化的处理 str1=json.dumps(dict1) print (u‘序列化后的数据类型为:‘,type(str1)) print (u‘序列化后的数据为:‘,str1)
结果
未序列化前的数据类型为: <class ‘dict‘> 未序列化前的数据: {‘age‘: 24, ‘name‘: ‘leizi‘, ‘address‘: ‘北京‘} 序列化后的数据类型为: <class ‘str‘> 序列化后的数据为: {"age": 24, "name": "leizi", "address": "\u5317\u4eac"}
json.loads():把原json字符串转化成python字典类型
我们再反序列化,把json格式的字符串解码为python的数据对象,见实现的代码和输出:
import json dict1={‘name‘:‘雷子‘,‘age‘:24,‘address‘:‘北京‘} print (u‘未序列化前的数据类型为:‘,type(dict1)) print (u‘未序列化前的数据:‘,dict1) #对dict1进行序列化的处理 str1=json.dumps(dict1) print (u‘序列化后的数据类型为:‘,type(str1)) print (u‘序列化后的数据为:‘,str1) #对str1进行反序列化 dict2=json.loads(str1) print (u‘反序列化后的数据类型:‘,type(dict2)) print (u‘反序列化后的数据:‘,dict2)
输出:
未序列化前的数据类型为: <class ‘dict‘>
未序列化前的数据: {‘age‘: 24, ‘name‘: ‘雷子‘, ‘address‘: ‘北京‘}
序列化后的数据类型为: <class ‘str‘>
序列化后的数据为: {"age": 24, "name": "\u96f7\u5b50", "address": "\u5317\u4eac"}
反序列化后的数据类型: <class ‘dict‘>
反序列化后的数据: {‘age‘: 24, ‘name‘: ‘雷子‘, ‘address‘: ‘北京‘}
结合requests库,来看返回的json数据,具体代码为:
import json,requests r=requests.get(‘http://wthrcdn.etouch.cn/weather_mini?city=北京‘) print (r.text,u‘数据类型:‘,type(r.text)) #对数据进行反序列化的操作 dic=json.loads(r.text) print (dic,u‘数据类型:‘,type(dic))
以上是关于python之json用法的主要内容,如果未能解决你的问题,请参考以下文章