Khi bạn chuyển đổi từ Python sang JSON, các đối tượng Python được chuyển đổi thành JSON [JavaScript] tương đương
PythonJSONdictObjectlistArraytupleArraystrStringintNumberfloatNumberTruetrueFalsefalseNonenullThí dụ
Chuyển đổi một đối tượng Python chứa tất cả các loại dữ liệu hợp pháp
nhập json
x = {
"Tên". "John",
"tuổi". 30,
"cưới nhau". Thật,
"ly hôn". Sai,
"những đứa trẻ". ["Ann","Billy"],
"vật nuôi". Không có,
"ô tô". [
{"mô hình". "BMW 230", "mpg". 27. 5},
{"mô hình". "Ford Edge", "mpg". 24. 1}
]
}
in [json. bãi [x]]
Tự mình thử »Định dạng kết quả
Ví dụ trên in ra một chuỗi JSON, nhưng nó không dễ đọc lắm, không có dấu đầu dòng và ngắt dòng
Phương thức json.dumps[]
có các tham số để dễ đọc kết quả hơn
Bạn cũng có thể xác định dấu phân cách, giá trị mặc định là [", ", ". "], có nghĩa là sử dụng dấu phẩy và dấu cách để phân tách từng đối tượng, dấu hai chấm và dấu cách để phân tách khóa khỏi giá trị
JSON [JavaScript Object Notation] 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 một ứng dụng web và máy chủ. Nhưng làm thế nào để bạn đọc một tệp JSON bằng Python?
Trong bài viết này, tôi sẽ chỉ cho bạn cách sử dụng các phương thức json.loads[]
và
import json
0 để phân tích và đọc các tệp và chuỗi JSONcú pháp JSON
Trước khi phân tích cú pháp và đọc tệp JSON, trước tiên chúng ta 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 khóa-giá trị
Đâ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
1import json
Nếu bạn cần phân tích một chuỗi JSON trả về một 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]
Cách phân tích và đọc tệp JSON trong Python
Trong ví dụ này, chúng tôi có một tệp JSON có tên là
import json
3 chứa cùng dữ liệu từ trước đó liên quan đến các khóa học do freeCodeCamp cung cấpNếu chúng ta muốn đọc tệp đó, trước tiên chúng ta cần sử dụng hàm
import json
4 tích hợp sẵn 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 cách________số 8_______Nếu tệp không thể mở được, thì chúng tôi sẽ nhận được OSError. Đây là một ví dụ về "Lỗi FileNotFound" nếu tôi viết sai chính tả tên tệp
import json
3Sau đó, chúng tôi có thể phân tích cú pháp tệp bằng phương pháp
import json
0 và gán nó cho một biến có tên 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à 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 đẹp dữ liệu JSON trong Python
Nếu chúng ta kiểm tra dữ liệu được in, thì chúng ta sẽ thấy rằng dữ liệu JSON được 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ố là 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]
0Trong ví dụ này, chúng ta sẽ thụt lề 4 khoảng trắng và in dữ liệu ở định dạng dễ đọc hơn
print[json.dumps[fcc_data, indent=4]]
Chúng ta cũng có thể sắp xếp các khóa theo thứ tự bảng chữ cái bằng cách sử dụ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à đặt tham số đó 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. print[json.dumps[fcc_data, indent=4, sort_keys=True]]
Kết luận
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ề một từ điển, thì bạn có thể sử dụng phương thức json.loads[]
Nếu bạn cần phân tích tệp JSON trả về từ điển, thì bạn có thể sử dụng phương thức
import json
0QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
Tôi là một nhạc sĩ và một lập trình viên
Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu