python3的json模块

之前看其他朋友的博客的时候总觉得json,picle 模块很难理解,今天得空自己敲了一些命令突然发现很简单,看来还是得动手多实践实践。。。

废话不多说,直接上代码,都是一些简单的例子:

import json
##dumps/dump 序列化--可以格式化所有的基本数据类型为字符串;load/loads 反序列化
##将整型转化为字符串
# i1 = 2
# print(type(i1),i1)
# j11 = json.dumps(i1)
# print(type(j11),j11)
##将字典转化为字符串
# dic1 = {"name":"tt","age":34,"famale":"M"}
# print(type(dic1),dic1)
# j22 = json.dumps(dic1)
# print(type(j22),j22)
##将元组转化为字符串
# tru1 = (1,2,5,"ad","23c")
# print(type(tru1),tru1)
# j33 = json.dumps(tru1)
# print(type(j33),j33)

##dump---需要将序列化的结果写入文件中
dic2 = {"name": "tt", "age": 34, "famale": "M"}
# a = open('fs.txt','w')
# j44 = json.dump(dic2,a)
# print(j44)
##或者(推荐)
with open('fs.txt','w',encoding='utf-8') as f:
    json.dump(dic2,f)


###load,loads举例   ----loads只完成了反序列化;load接收文件描述符,完成读取文件和反序列化
# dic2 = '{"name": "tt", "age": 34, "famale": "M"}'
# print(type(dic2),dic2)
#jj1 = json.loads('dic2')
##将字符串类型转化为字典类型,前提是字符串里面的格式和字典格式匹配
# jj1 = json.loads(dic2)
# print(type(jj1),jj1)

# with open("fs.txt","r",encoding='utf-8') as f :
#     aa = json.load(f)
#     print(type(aa),aa)
View Code

模块方法(load,loads,dump,dumps)总结:(平时一般用dumps,loads 比较多

1.json序列化方法: dumps:无文件操作(纯粹的序列化操作,将其他类型转化为字符串类型)            dump:需要将序列化的结果写入文件中

2. json反序列化方法:loads:无文件操作 (loads只完成了反序列化)                                                      load: 读文件+反序列化   

json 和 picle 模块的区别:

json模块和picle模块都有  dumps、dump、loads、load四种方法,而且用法一样。区别是json模块序列化出来的是格式在其它编程语上是通用的,就是普通的字符串;

而picle模块序列化出来的只有python可以认识,其他语言的会出现乱码现象,另一方面,picle可以序列化函数,功能比json强大

 

猜你喜欢

转载自www.cnblogs.com/junzhu2/p/9115724.html