JSON
JSON(JavaScript Object Notation)是一种基于JavaScript语法子集的轻量级的数据交换格式,类似XML。JSON易于人阅读和编写,同时也易于机器解析和生成,相比较于XML,JSON更小更快且更易于解析。
json模块(框架)
Python 通过json模块(框架)支持对json文件的读写。
使用如下方式导入json模块:
import json
获取json框架版本
使用json.__version__获取json框架的版本。
import json
if __name__ == '__main__':
version = json.__version__
print(version)
运行结果如下:
2.0.9
这里的json框架版本是2.0.9
dumps()函数
json.dumps()函数将数据转换成JSON可理解的字符串格式,并将该字符串返回。可选参数indent接收一个整数用来指定缩进。
import json
demo = [{"a": "A", "b": "B", "c": "C"}]
result = json.dumps(demo, indent=4)
print(type(result))
print(result)
结果输出:
<class 'str'>
[
{
"a": "A",
"b": "B",
"c": "C"
}
]
dumps()函数并不能将内容写入到json文件中,需要借助文件方法write(),将转换后的字符串写入到json中。
附上Json和Python类型转换对照表:
dump()函数
dump()函数直接将Python数据(列表或字典)写入到具体的json文件中。需要注意的是dump()函数无返回值,参数包含要写入的数据外,还有json文件对象。可选的参数indent接收一个整数用来指定缩进。
import json
demo = {"China": "Beijing", "Japan": "Tokyo", "Russia": "Moscow", "North Korea": "Pyongyang"}
file = open("g.json", "w")
json.dump(demo, file, indent=4)
运行后在g.json中显示如下:
{
"China": "Beijing",
"Japan": "Tokyo",
"Russia": "Moscow",
"North Korea": "Pyongyang"
}
loads()函数
loads()函数用于解码json字符串数据,将json字符串数据变为Python可以理解的数据格式。
import json
if __name__ == '__main__':
s = '[{"name": "TCatTime", "hobby": "Python"}]'
result = json.loads(s)
print(result)
运行结果如下:
[{'name': 'TCatTime', 'hobby': 'Python'}]
可以使用file read()方法读取json文件,然后使用loads()函数将其转换成Python的数据类型。
load()函数
load()函数用于读取json文件并将其解码,将json文件中的内容变为Python可以理解的数据格式。
假设json文件:g.json内容如下:
{
"username": "admin",
"password": "123"
}
Python脚本如下:
import json
if __name__ == '__main__':
file = open("g.json", "r")
data = json.load(file)
print(data)
运行结果:
{'username': 'admin', 'password': '123'}
觉得有用的同学可以点下赞同呀~
关注我,获得更多技术知识~