📜  使用Python读取 JSON 文件

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

使用Python读取 JSON 文件

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

从 JSON 读取

在Python中加载 JSON 对象非常容易。 Python有一个名为 json 的内置包,可用于处理 JSON 数据。这是通过使用 JSON 模块完成的,它为我们提供了很多方法,其中的 load() 和 load() 方法将帮助我们读取 JSON 文件。

JSON的反序列化

JSON 的反序列化是指将 JSON 对象转换为它们各自的Python对象。 load()/loads() 方法用于它。如果你使用过其他程序的 JSON 数据,或者获取为 JSON 的字符串格式,那么很容易用 load()/loads() 进行反序列化,通常用于从字符串加载,否则,根对象在列表中或听写。请参见下表。

JSON OBJECTPYTHON OBJECT
objectdict
arraylist
stringstr
nullNone
number (int)int
number (real)float
trueTrue
falseFalse

json.load(): json.load() 接受文件对象,解析 JSON 数据,用数据填充Python字典并将其返回给您。

句法:

json.load(file object)

示例:假设 JSON 文件如下所示:

python-json

我们要读取这个文件的内容。下面是实现。

Python3
# Python program to read
# json file
 
 
import json
 
# Opening JSON file
f = open('data.json')
 
# returns JSON object as
# a dictionary
data = json.load(f)
 
# Iterating through the json
# list
for i in data['emp_details']:
    print(i)
 
# Closing file
f.close()


Python3
# Python program to read
# json file
 
 
import json
 
 
# JSON string
a = '{"name": "Bob", "languages": "English"}'
 
# deserializes into dict
# and returns dict.
y = json.loads(a)
 
print("JSON string = ", y)
print()
 
 
 
# JSON file
f = open ('data.json', "r")
 
# Reading from file
data = json.loads(f.read())
 
# Iterating through the json
# list
for i in data['emp_details']:
    print(i)
 
# Closing file
f.close()


输出:

python-read-json-输出

json.loads():如果你有一个 JSON字符串,你可以使用 json.loads() 方法解析它。json.loads() 不采用文件路径,而是将文件内容作为字符串,使用 fileobject。 read() 和 json.loads() 我们可以返回文件的内容。

句法:

json.loads(jsonstring) #for Json string

json.loads(fileobject.read()) #for fileobject

示例:此示例显示从字符串和 JSON 文件读取。使用上面显示的文件。

Python3

# Python program to read
# json file
 
 
import json
 
 
# JSON string
a = '{"name": "Bob", "languages": "English"}'
 
# deserializes into dict
# and returns dict.
y = json.loads(a)
 
print("JSON string = ", y)
print()
 
 
 
# JSON file
f = open ('data.json', "r")
 
# Reading from file
data = json.loads(f.read())
 
# Iterating through the json
# list
for i in data['emp_details']:
    print(i)
 
# Closing file
f.close()

输出:

python-read-json-输出