在Python中读取 JSON 并将其写入文件
JSON 的完整形式是 JavaScript Object Notation。这意味着由编程语言中的文本组成的脚本(可执行)文件用于存储和传输数据。 Python通过一个名为json
的内置包支持 JSON。要使用此功能,我们在Python脚本中导入 json 包。 JSON 中的文本是通过引用字符串完成的,该字符串包含{ }
内键值映射中的值。它类似于Python中的字典。
在Python中将JSON写入文件
序列化 JSON 是指将数据转换为一系列字节(因此是串行的)以通过网络存储或传输。为了处理文件中的数据流, Python中的 JSON 库使用dump()
或dumps()
函数将Python对象转换为各自的 JSON 对象,因此可以轻松地将数据写入文件。请参见下表。
PYTHON OBJECT | JSON OBJECT |
---|---|
dict | object |
list, tuple | array |
str | string |
int, long, float | numbers |
True | true |
False | false |
None | null |
使用 json.dumps()
Python中的 JSON 包有一个名为json.dumps()
的函数,它有助于将字典转换为 JSON 对象。
它需要两个参数:
- 字典 -应转换为 JSON 对象的字典名称。
- indent –定义缩进的单位数
将字典转换为 JSON 对象后,只需使用“写入”函数将其写入文件即可。
例子:
# Python program to write JSON
# to a file
import json
# Data to be written
dictionary ={
"name" : "sathiyajith",
"rollno" : 56,
"cgpa" : 8.6,
"phonenumber" : "9976770500"
}
# Serializing json
json_object = json.dumps(dictionary, indent = 4)
# Writing to sample.json
with open("sample.json", "w") as outfile:
outfile.write(json_object)
输出:
使用 json.dump()
将 JSON 写入文件的另一种方法是使用json.dump()
方法
JSON 包具有“转储”函数,可以直接将字典以 JSON 的形式写入文件,而无需将其转换为实际的 JSON 对象。
它需要2个参数:
- 字典 -应转换为 JSON 对象的字典名称。
- 文件指针——以写入或附加模式打开的文件的指针。
例子:
# Python program to write JSON
# to a file
import json
# Data to be written
dictionary ={
"name" : "sathiyajith",
"rollno" : 56,
"cgpa" : 8.6,
"phonenumber" : "9976770500"
}
with open("sample.json", "w") as outfile:
json.dump(dictionary, outfile)
输出:
使用Python从文件中读取JSON
反序列化与序列化相反,即将 JSON 对象转换为各自的Python对象。 load()
方法用于它。如果你使用了来自其他程序的 JSON 数据,或者获取为 JSON 的字符串格式,那么可以很容易地使用load()
进行反序列化,通常用于从字符串加载,否则,根对象在 list 或 dict 中。
使用 json.load()
JSON 包具有json.load()
函数,可将 json 文件中的 json 内容加载到字典中。
它需要一个参数:
- 文件指针:指向 JSON 文件的文件指针。
# Python program to read JSON
# from a file
import json
# Opening JSON file
with open('sample.json', 'r') as openfile:
# Reading from json file
json_object = json.load(openfile)
print(json_object)
print(type(json_object))
输出: