JSON [ký hiệu đối tượng JavaScript] là một cách phổ biến để cấu trúc dữ liệu. Nó được sử dụng để trao đổi thông tin giữa ứng dụng web và máy chủ. Nhưng làm thế nào để bạn đọc một tập tin JSON trong Python? Trong bài viết này, tôi sẽ chỉ cho bạn cách sử dụng các phương pháp json.loads[]
và
0 để phân tích và đọc các tệp và chuỗi JSON.import json
Cú pháp JSON
Trước khi chúng tôi tham gia phân tích cú pháp và đọc tệp JSON, trước tiên chúng tôi cần hiểu cú pháp cơ bản. Cú pháp JSON trông giống như một đối tượng JavaScript theo nghĩa đen với các cặp giá trị khóa.
Đây là một ví dụ về dữ liệu JSON cho Freecodecamp:
{
"organization": "freeCodeCamp",
"website": "//www.freecodecamp.org/",
"formed": 2014,
"founder": "Quincy Larson",
"certifications": [
{
"name": "Responsive Web Design",
"courses": [
"HTML",
"CSS"
]
},
{
"name": "JavaScript Algorithms and Data Structures",
"courses": [
"JavaScript"
]
},
{
"name": "Front End Development Libraries",
"courses": [
"Bootstrap",
"jQuery",
"Sass",
"React",
"Redux"
]
},
{
"name": "Data Visualization",
"courses": [
"D3"
]
},
{
"name": "Relational Database Course",
"courses": [
"Linux",
"SQL",
"PostgreSQL",
"Bash Scripting",
"Git and GitHub",
"Nano"
]
},
{
"name": "Back End Development and APIs",
"courses": [
"MongoDB",
"Express",
"Node",
"NPM"
]
},
{
"name": "Quality Assurance",
"courses": [
"Testing with Chai",
"Express",
"Node"
]
},
{
"name": "Scientific Computing with Python",
"courses": [
"Python"
]
},
{
"name": "Data Analysis with Python",
"courses": [
"Numpy",
"Pandas",
"Matplotlib",
"Seaborn"
]
},
{
"name": "Information Security",
"courses": [
"HelmetJS"
]
},
{
"name": "Machine Learning with Python",
"courses": [
"Machine Learning",
"TensorFlow"
]
}
]
}
Cách phân tích chuỗi JSON trong Python
Python có một mô -đun tích hợp cho phép bạn làm việc với dữ liệu JSON. Ở đầu tệp của bạn, bạn sẽ cần nhập mô -đun
import json
1.import json
Nếu bạn cần phân tích một chuỗi JSON trả về từ điển, thì bạn có thể sử dụng phương thức json.loads[]
.
import json
# assigns a JSON string to a variable called jess
jess = '{"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]}'
# parses the data and assigns it to a variable called jess_dict
jess_dict = json.loads[jess]
# Printed output: {"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]}
print[jess_dict]
Trong ví dụ này, chúng tôi có một tệp JSON có tên
import json
3 chứa cùng một dữ liệu từ trước đó liên quan đến các khóa học do Freecodecamp cung cấp.Nếu chúng ta muốn đọc tệp đó, trước tiên chúng ta cần sử dụng chức năng
import json
4 được tích hợp của Python với chế độ đọc. Chúng tôi đang sử dụng từ khóa import json
5 để đảm bảo rằng tệp được đóng đúng.with open['fcc.json', 'r'] as fcc_file:
Nếu tệp không thể được mở, thì chúng tôi sẽ nhận được Oserror. Đây là một ví dụ về "filenotfounderror" nếu tôi viết sai tên tệp
import json
3.Sau đó, chúng ta có thể phân tích tệp bằng phương thức
import json
0 và gán nó cho một biến gọi là import json
8. fcc_data = json.load[fcc_file]
Bước cuối cùng sẽ là in kết quả.
print[fcc_data]
Đây là những gì toàn bộ mã sẽ trông như thế nào:
import json
with open['fcc.json', 'r'] as fcc_file:
fcc_data = json.load[fcc_file]
print[fcc_data]
Cách in dữ liệu JSON đẹp bằng Python
Nếu chúng tôi kiểm tra dữ liệu in, thì chúng ta sẽ thấy dữ liệu JSON in tất cả trên một dòng.
Nhưng điều đó có thể khó đọc. Để khắc phục điều đó, chúng ta có thể sử dụng phương thức
import json
9 với tham số của import json
# assigns a JSON string to a variable called jess
jess = '{"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]}'
# parses the data and assigns it to a variable called jess_dict
jess_dict = json.loads[jess]
# Printed output: {"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]}
print[jess_dict]
0.Trong ví dụ này, chúng ta sẽ có một thụt lề 4 không gian và in dữ liệu theo định dạng dễ đọc hơn.
print[json.dumps[fcc_data, indent=4]]
Chúng tôi cũng có thể sắp xếp các khóa theo thứ tự bảng chữ cái bằng tham số import json
# assigns a JSON string to a variable called jess
jess = '{"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]}'
# parses the data and assigns it to a variable called jess_dict
jess_dict = json.loads[jess]
# Printed output: {"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]}
print[jess_dict]
1 và cài đặt thành import json
# assigns a JSON string to a variable called jess
jess = '{"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]}'
# parses the data and assigns it to a variable called jess_dict
jess_dict = json.loads[jess]
# Printed output: {"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]}
print[jess_dict]
2.We can also sort the keys in alphabetical order using the
import json
# assigns a JSON string to a variable called jess
jess = '{"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]}'
# parses the data and assigns it to a variable called jess_dict
jess_dict = json.loads[jess]
# Printed output: {"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]}
print[jess_dict]
1 parameter and setting that to import json
# assigns a JSON string to a variable called jess
jess = '{"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]}'
# parses the data and assigns it to a variable called jess_dict
jess_dict = json.loads[jess]
# Printed output: {"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]}
print[jess_dict]
2. print[json.dumps[fcc_data, indent=4, sort_keys=True]]
ConclusionConclusion
JSON [ký hiệu đối tượng JavaScript] là một cách phổ biến để cấu trúc dữ liệu và được sử dụng để trao đổi thông tin giữa ứng dụng web và máy chủ.
Nếu bạn cần phân tích một chuỗi JSON trả về từ điển, thì bạn có thể sử dụng phương thức json.loads[]
.
Trong ví dụ này, chúng tôi có một tệp JSON có tên
import json
3 chứa cùng một dữ liệu từ trước đó liên quan đến các khóa học do Freecodecamp cung cấp.Nếu chúng ta muốn đọc tệp đó, trước tiên chúng ta cần sử dụng chức năng
import json
4 được tích hợp của Python với chế độ đọc. Chúng tôi đang sử dụng từ khóa import json
5 để đảm bảo rằng tệp được đóng đúng.