如何将 JSON 中的数据解析为Python?
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。人类很容易读写,机器可以解析和生成。基本上,它用于以指定格式表示数据,以便轻松访问和处理数据。在这里,我们将学习如何从 JSON 创建和解析数据并使用它。
在开始解析数据的细节之前,我们应该了解Python中的 'json'模块。它提供了一个类似于 pickle 的 API,用于将Python中的内存对象转换为序列化的表示形式,并且可以轻松解析 JSON 数据和文件。以下是一些使用Python从 JSON 解析数据的方法:
- Python JSON to Dictionary:借助json.loads()函数,我们可以将 JSON 对象解析为字典。
Python3
# importing json library
import json
geek = '{"Name": "nightfury1", "Languages": ["Python", "C++", "PHP"]}'
geek_dict = json.loads(geek)
# printing all elements of dictionary
print("Dictionary after parsing: ", geek_dict)
# printing the values using key
print("\nValues in Languages: ", geek_dict['Languages'])
Python3
import json
from collections import OrderedDict
#create Ordered Dictionary using keyword
# 'object_pairs_hook=OrderDict'
data = json.loads('{"GeeksforGeeks":1, "Gulshan": 2, "nightfury_1": 3, "Geek": 4}',
object_pairs_hook=OrderedDict)
print("Ordered Dictionary: ", data)
Python3
# importing json library
import json
with open('data.json') as f:
data = json.load(f)
# printing data after loading the json file
print(data)
输出:
Dictionary after parsing: {‘Name’: ‘nightfury1’, ‘Languages’: [‘Python’, ‘C++’, ‘PHP’]}
Values in Languages: [‘Python’, ‘C++’, ‘PHP’]
- Python JSON to Ordered Dictionary:我们必须使用相同的 json.loads()函数来解析对象,但是为了获得有序,我们必须从集合模块中添加关键字' object_pairs_hook=OrderedDict '。
Python3
import json
from collections import OrderedDict
#create Ordered Dictionary using keyword
# 'object_pairs_hook=OrderDict'
data = json.loads('{"GeeksforGeeks":1, "Gulshan": 2, "nightfury_1": 3, "Geek": 4}',
object_pairs_hook=OrderedDict)
print("Ordered Dictionary: ", data)
输出:
Ordered Dictionary: OrderedDict([(‘GeeksforGeeks’, 1), (‘Gulshan’, 2), (‘nightfury_1’, 3), (‘Geek’, 4)])
- 使用 JSON 文件解析:借助json.load()方法,我们可以通过打开所需的 JSON 文件将 JSON 对象解析为字典格式。
Python3
# importing json library
import json
with open('data.json') as f:
data = json.load(f)
# printing data after loading the json file
print(data)
输出:
{‘Name’: ‘nightfury1’, ‘Language’: [‘Python’, ‘C++’, ‘PHP’]}