使用Python读取JSON文件
JSON是JavaScript Object Notatio的缩写形式。这意味着由编程语言中的文本组成的脚本(可执行)文件用于存储和传输数据。Python 通过一个名为 json 的内置包支持JSON。要使用此功能,在Python 脚本中导入 json 包。JSON 中的文本是通过引用字符串完成的,它包含 { } 内键值映射中的值。
JSON 格式最初的灵感来自 JavaScript(一种用于 Web 开发的编程语言)的语法。但从那时起,它已经成为一种独立于语言的数据格式,我们今天使用的大多数编程语言都可以生成和读取 JSON。本文晓得博客为你介绍如何使用Python读取JSON文件。
JSON结构和格式
现在您已经知道 JSON 格式的用途了,让我们通过一个表示披萨订单数据的示例来了解其基本结构:
{
"size": "medium",
"price": 15.67,
"toppings": ["mushrooms", "pepperoni", "basil"],
"extra_cheese": false,
"delivery": true,
"client": {
"name": "Jane Doe",
"phone": null,
"email": "xiao@pythonthree.com"
}
}
这些是JSON格式的主要特征:
- 有一系列由大括号包围的键值对{}。
- 每个键都使用以下格式映射到特定值:
- 键值对用逗号分隔。只有最后一对后面没有逗号。
JSON的反序列化
JSON 的反序列化意味着将 JSON 对象转换为它们各自的 Python 对象。load()/loads() 方法用于它。如果你使用过其他程序的 JSON 数据或以 JSON 的字符串格式获取,那么可以使用 load()/loads() 轻松反序列化,通常用于从字符串加载,否则根对象在列表中或字典。请参阅下表。
json.load(): json.load() 接受文件对象,解析 JSON 数据,用数据填充 Python 字典并将其返回给您。
句法:
json.load(文件对象)
示例:假设 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()
输出:
推荐:使用 BeautifulSoup从HTML中提取JSON
json.loads():如果你有一个JSON字符串,你可以使用json.loads()方法解析它。json.loads()不取文件路径,而是将文件内容作为字符串,使用fileobject。 read() 和 json.loads() 我们可以返回文件的内容。
句法:
json.loads(jsonstring) #for Json 字符串 json.loads(fileobject.read()) #for fileobject
示例:此示例显示从字符串和 JSON 文件中读取。使用上面显示的文件。
# 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读取JSON文件的全部内容,JSON 格式通常用于通过网络连接序列化和传输结构化数据。它主要用于在服务器和 Web 应用程序之间传输数据,作为 XML 的替代方案,由于其结构,JSON 可以轻松读取和写入是管理设置的好资源。
Claude、Netflix、Midjourney、ChatGPT Plus、PS、Disney、Youtube、Office 365、多邻国Plus账号购买,ChatGPT API购买,优惠码XDBK,用户购买的时候输入优惠码可以打95折