查看json库的方法
import json print("JSON库的主要方法:",json.__all__) ###JSON库的主要方法: ['dump','dumps','load','loads','JSONDecoder','JSONDecodeError','JSONEncoder']
dump和dumps的区别 dump是将对象序列化并保存到文件中 dumps是将对象序列化
load和loads的区别 load将序列化字符串从文件读取并反序列化 loads将序列化字符串反序列化
Python 字典类型转换为 JSON 对象
json Python 字典类型转换为 JSON 对象 data = { 'no': 001,name': Runoob'urlhttp://www.runoob.comaddress':北京 } json_str = json.dumps(data) json_str1 = json.dumps(data,ensure_ascii=False) 原始数据类型:"Python 原始数据:repr() 函数将对象转化为供解释器读取的形式。 repr(object) 返回对象的string格式 JSON对象的类型:JSON 对象:JSON对象,,字符编码''' 关于中文字符编码的问题 json.dumps 序列化时对中文默认使用的ascii编码.想输出真正的中文需要指定ensure_ascii=False: import json print (json.dumps('中国')) "\u4e2d\u56fd" print (json.dumps('中国',ensure_ascii=False)) "中国" '''
Python 字典类型转换为 JSON 对象 之后再次转换为Python类型
反序列化,把json格式的字符串解码为python的数据对象,见实现的代码和输出: json dict1={lucky',age':27,1)">深圳} print ('原始数据类型为:原始的数据:对dict1进行序列化的处理 str1=json.dumps(dict1,ensure_ascii=False) 去掉乱码的字符显示 序列化后的数据类型为:序列化后的数据为:对str1进行反序列化 dict2=json.loads(str1) 反序列化后的数据类型:反序列化后的数据:Python 字典类型转换为 JSON 对象 data1 = } json_str = json.dumps(data1,ensure_ascii=False) 将 JSON 对象转换为 Python 字典 data2 = json.loads(json_str) data2的['name']: ]) data2链接['url']: print(data2 )
如果你要处理的是文件而不是字符串,你可以使用json.dump()和json.load()来编码和解码JSON数据。例如: json data = } 写入 JSON 数据 with open(data.jsonw) as f: json.dump(data,f) 读取数据 with open(r) as f: data = json.load(f) print(data)
结合requests库,来看返回的json数据
###结合requests库,来看返回的json数据,具体代码为: json,requests r=requests.get(http://wthrcdn.etouch.cn/weather_mini?city=深圳print (r.text,u数据类型:对数据进行反序列化的操作 dic=json.loads(r.text) print (dic,type(dic))