重点:json模块
Posted 猪猪BF
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重点:json模块相关的知识,希望对你有一定的参考价值。
Json模块:可以进行任意语言之间的数据转换
一.与之前的eval()对比
dic={"name":"alex"} f=open("hello","w",encoding="utf-8") #新建一个文件 #此时想往f里存入dic得转换成字符串的格式 f.write(str(dic)) #之后在想打开这个文件用里面的东西 f_read=open(\'hello\',"r",encoding="utf-8") data=f_read.read() #读取文件中的数据 print(type(data)) #输出的是字符串的形式,而不是字典的形式 #所以,应该转换数据类型 data=eval(data) print(data["name"])
但是eval对于很多数据类型都处理不了,比如函数、类
二.json的使用:将python的数据类型转换成通用的json数据类型
(1)
import json dic={"name":"alex"} data=json.dumps(dic) #将字符串的单引号全部变成双引号,再变成一个字符串 print(type(data)) #输出结果为<class \'str\'>,这是一个json字符串
i=8
i=json.dumps(i)
print(i) #输出的也是8,但其本质也是一个json字符串
无论什么数据类型 经过json.dumps()都会形成一个json字符串
import json dic={"name":"alex"} dic_str=json.dumps(dic) print(type(dic_str)) f=open("hello","w") f.write(dic_str) #这样就可以将字典形式的东西先转换成json字符串,然后再写入文件中
如果想把写入文件的东西read出来,可以用这种方法
import json dic={"name":"alex"} dic_str=json.dumps(dic) print(type(dic_str)) # f=open("hello","w") # f.write(dic_str) #这样就可以将字典形式的东西先转换成json字符串,然后再写入文件中 f_read=open("hello","r") data=json.loads(f_read.read()) print(data) #得到的就是一个字典形式
只要字符串满足json规则(双引号),就可以直接拿出来loads使用。
PICKLE模块(和json使用起来类似,只有dumps和loads两种功能,不太重要)
区别:json生成的是json字符串格式,而pickle生成的是字节的形式。
以上是关于重点:json模块的主要内容,如果未能解决你的问题,请参考以下文章
如何使用模块化代码片段中的LeakCanary检测内存泄漏?
json 可视代码工作室Angular with Firebase片段
错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”