📜  在Python中读取 JSON 并将其写入文件

📅  最后修改于: 2022-05-13 01:55:14.533000             🧑  作者: Mango

在Python中读取 JSON 并将其写入文件

JSON 的完整形式是 JavaScript Object Notation。这意味着由编程语言中的文本组成的脚本(可执行)文件用于存储和传输数据。 Python通过一个名为json的内置包支持 JSON。要使用此功能,我们在Python脚本中导入 json 包。 JSON 中的文本是通过引用字符串完成的,该字符串包含{ }内键值映射中的值。它类似于Python中的字典。

在Python中将JSON写入文件

序列化 JSON 是指将数据转换为一系列字节(因此是串行的)以通过网络存储或传输。为了处理文件中的数据流, Python中的 JSON 库使用dump()dumps()函数将Python对象转换为各自的 JSON 对象,因此可以轻松地将数据写入文件。请参见下表。

PYTHON OBJECTJSON OBJECT
dictobject
list, tuplearray
strstring
int, long, floatnumbers
Truetrue
Falsefalse
Nonenull

使用 json.dumps()

Python中的 JSON 包有一个名为json.dumps()的函数,它有助于将字典转换为 JSON 对象。

它需要两个参数:

  1. 字典 -应转换为 JSON 对象的字典名称。
  2. 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)

输出:

python-writing-to-json

使用 json.dump()

将 JSON 写入文件的另一种方法是使用json.dump()方法

JSON 包具有“转储”函数,可以直接将字典以 JSON 的形式写入文件,而无需将其转换为实际的 JSON 对象。

它需要2个参数:

  1. 字典 -应转换为 JSON 对象的字典名称。
  2. 文件指针——以写入或附加模式打开的文件的指针。

例子:

# 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 2 将 JSON 写入文件

使用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))

输出:

使用python从文件中读取JSON