JSON [Ký hiệu đối tượng JavaScript] là một định dạng dữ liệu phổ biến được sử dụng để biểu diễn dữ liệu có cấu trúc. Việc truyền và nhận dữ liệu giữa máy chủ và ứng dụng web ở định dạng JSON là phổ biến
Trong Python, JSON tồn tại dưới dạng một chuỗi. Ví dụ
p = '{"name": "Bob", "languages": ["Python", "Java"]}'
Nó cũng phổ biến để lưu trữ một đối tượng JSON trong một tệp
Nhập Mô-đun json
Để làm việc với JSON [chuỗi hoặc tệp chứa đối tượng JSON], bạn có thể sử dụng mô-đun
import json
0 của Python. Bạn cần nhập mô-đun trước khi có thể sử dụng nóimport json
Phân tích cú pháp JSON bằng Python
Mô-đun
import json
0 giúp dễ dàng phân tích chuỗi JSON và tệp chứa đối tượng JSONví dụ 1. Python JSON để đọc chính tả
Bạn có thể phân tích một chuỗi JSON bằng phương thức
import json
2. Phương thức trả về một từ điểnimport json
person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads[person]
# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print[ person_dict]
# Output: ['English', 'French']
print[person_dict['languages']]
Ở đây, person là một chuỗi JSON và person_dict là một từ điển
ví dụ 2. Python đọc tệp JSON
Bạn có thể sử dụng phương thức
import json
3 để đọc tệp chứa đối tượng JSONGiả sử, bạn có một tệp tên là
import json
4 chứa một đối tượng JSON________số 8Đây là cách bạn có thể phân tích cú pháp tệp này
import json
with open['path_to_file/person.json', 'r'] as f:
data = json.load[f]
# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print[data]
Ở đây, chúng tôi đã sử dụng chức năng
import json
5 để đọc tệp json. Sau đó, tệp được phân tích cú pháp bằng phương pháp import json
3 cung cấp cho chúng tôi một từ điển có tên dữ liệuNếu bạn không biết cách đọc và ghi tệp bằng Python, chúng tôi khuyên bạn nên kiểm tra I/O tệp Python
Python Chuyển đổi thành chuỗi JSON
Bạn có thể chuyển đổi từ điển thành chuỗi JSON bằng phương pháp
import json
7ví dụ 3. Chuyển đổi dict thành JSON
import json
3Đây là bảng hiển thị các đối tượng Python và chuyển đổi tương đương của chúng thành JSON
Tương đương PythonJSONimport json
8objectimport json
9, import json
person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads[person]
# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print[ person_dict]
# Output: ['English', 'French']
print[person_dict['languages']]
0arrayimport json
person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads[person]
# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print[ person_dict]
# Output: ['English', 'French']
print[person_dict['languages']]
1stringimport json
person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads[person]
# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print[ person_dict]
# Output: ['English', 'French']
print[person_dict['languages']]
2, import json
person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads[person]
# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print[ person_dict]
# Output: ['English', 'French']
print[person_dict['languages']]
3, import json
person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads[person]
# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print[ person_dict]
# Output: ['English', 'French']
print[person_dict['languages']]
2numberimport json
person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads[person]
# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print[ person_dict]
# Output: ['English', 'French']
print[person_dict['languages']]
5trueimport json
person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads[person]
# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print[ person_dict]
# Output: ['English', 'French']
print[person_dict['languages']]
6falseimport json
person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads[person]
# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print[ person_dict]
# Output: ['English', 'French']
print[person_dict['languages']]
7nullViết JSON vào một tệp
Để ghi JSON vào một tệp trong Python, chúng ta có thể sử dụng phương thức
import json
person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads[person]
# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print[ person_dict]
# Output: ['English', 'French']
print[person_dict['languages']]
8Ví dụ 4. Viết JSON vào một tệp
import json
5Trong chương trình trên, chúng tôi đã mở một tệp có tên
import json
person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads[person]
# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print[ person_dict]
# Output: ['English', 'French']
print[person_dict['languages']]
9 ở chế độ viết bằng cách sử dụng
{"name": "Bob",
"languages": ["English", "French"]
}
0. Nếu tệp chưa tồn tại, nó sẽ được tạo. Sau đó, import json
person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads[person]
# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print[ person_dict]
# Output: ['English', 'French']
print[person_dict['languages']]
8 chuyển đổi
{"name": "Bob",
"languages": ["English", "French"]
}
2 thành chuỗi JSON sẽ được lưu trong tệp import json
person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads[person]
# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print[ person_dict]
# Output: ['English', 'French']
print[person_dict['languages']]
9Khi bạn chạy chương trình, tệp
import json
person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads[person]
# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print[ person_dict]
# Output: ['English', 'French']
print[person_dict['languages']]
9 sẽ được tạo. Tệp có văn bản sau bên trong nóimport json
2Python in JSON đẹp
Để phân tích và gỡ lỗi dữ liệu JSON, chúng tôi có thể cần in nó ở định dạng dễ đọc hơn. Điều này có thể được thực hiện bằng cách chuyển các tham số bổ sung
{"name": "Bob",
"languages": ["English", "French"]
}
5 và
{"name": "Bob",
"languages": ["English", "French"]
}
6 sang phương thức import json
7 và import json
person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads[person]
# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print[ person_dict]
# Output: ['English', 'French']
print[person_dict['languages']]
8Ví dụ 5. Python in JSON đẹp
import json
7Khi bạn chạy chương trình, đầu ra sẽ là
import json
8Trong chương trình trên, chúng tôi đã sử dụng khoảng cách
{"name": "Bob",
"languages": ["English", "French"]
}
9 để thụt lề. Và, các phím được sắp xếp theo thứ tự tăng dầnNhân tiện, giá trị mặc định của thụt lề là
import json
person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads[person]
# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print[ person_dict]
# Output: ['English', 'French']
print[person_dict['languages']]
7. Và, giá trị mặc định của sort_keys là import json
person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads[person]
# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print[ person_dict]
# Output: ['English', 'French']
print[person_dict['languages']]
6