Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式。Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式。现在也常用于http请求中,所以对json的各种学习,是自然而然的事情。
json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数。
import json
a = dict(name='zs',age=18)
print(type(a))
b = json.dumps(a)
print(b,type(b))
运行结果:
{"name": "zs", "age": 18}
若在数据写入json文件时,未先进行转换,会直接报错
json.dump()用于将dict类型的数据转成str,并直接写入到json文件中。而dumps需要先转化数据,再将转换的数据存到json文件中,下面两种方法都可以将数据写入json文件
import json
a = dict(name='zs',age=18)
b = json.dumps(a)
# 第一张方法
json.dump(a, open('name.json', "w"))
# 第二种方法
with open('name1.json','w',encoding='utf-8') as fp:
fp.write(b)
运行结果:
json.loads()用于将str类型的数据转成dict。
import json
a = dict(name='zs',age=18)
b = json.dumps(a) # 将dict类型转换为str
c = json.loads(b) # 将str类型转换为dict
print(c,type(c))
运行结果:
{'name': 'zs', 'age': 18}
json.load()用于从json文件中读取数据,返回python数据类型。
import json
a = dict(name='zs',age=18)
b = json.dumps(a)
# 第一张方法
json.dump(a, open('name.json', "w"))
# 第二种方法
with open('name1.json','w',encoding='utf-8') as fp:
fp.write(b)
c = json.loads(b)
file = json.load(open('name.json')) # 注意加open(),否则会报错
print(file,type(file))
运行结果:
{'name': 'zs', 'age': 18}