重点: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数据绑定到html元素 (转)

python 模块二

json 可视代码工作室Angular with Firebase片段

vs code 用户代码片段 html.json

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”