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. Thông thường việc truyền và nhận dữ liệu giữa một máy chủ và ứng dụng web ở định dạng JSON.JavaScript Object Notation] is a popular data format used for representing structured data. It's common to transmit and receive data between a server and web application in JSON format.
Trong Python, JSON tồn tại như 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 ____10 của Python. Bạn cần nhập mô -đun trước khi bạn có thể sử dụng nó.
import json
Parse json trong Python
Mô -đun
import json
0 giúp dễ dàng phân tích các chuỗi và tệp JSON có chứa đối tượng JSON.Ví dụ 1: Python JSON & NBSP; To Dict
Bạn có thể phân tích chuỗi JSON bằng phương thức
import json
2. Phương pháp trả về một từ điể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']]
Ở đây, người 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 một tệp có chứa đối tượng JSON.Giả sử, bạn có một tệp có tên
import json
4 có chứa đối tượng JSON.
{"name": "Bob",
"languages": ["English", "French"]
}
Đây là cách bạn có thể phân tích 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 ta dữ liệu từ điển có tên.Nếu bạn không biết cách đọc và ghi các tệp trong Python, chúng tôi khuyên bạn nên kiểm tra I/O File I/O của Python.
Python chuyển đổi sang chuỗi JSON
Bạn có thể chuyển đổi một từ điển thành chuỗi JSON bằng phương thức
import json
7.Ví dụ 3: Chuyển đổi dict thành json
import json
person_dict = {'name': 'Bob',
'age': 12,
'children': None
}
person_json = json.dumps[person_dict]
# Output: {"name": "Bob", "age": 12, "children": null}
print[person_json]
Đây là một bảng hiển thị các đối tượng Python và chuyển đổi tương đương của chúng sang JSON.
8 | sự vật |
9, 0 | mảng |
1 | sợi dây |
2, 3, 2 | con số |
5 | thật |
6 | sai |
7 | vô giá trị |
Viết JSON vào một tập tin
Để viết 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']]
8.Ví dụ 4: Viết JSON vào một tệp
import json
person_dict = {"name": "Bob",
"languages": ["English", "French"],
"married": True,
"age": 32
}
with open['person.txt', 'w'] as json_file:
json.dump[person_dict, json_file]
Trong 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 biế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']]
9.Khi 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. Các tập tin có văn bản sau bên trong nó.{"name": "Bob", "languages": ["English", "French"], "married": true, "age": 32}
Python in đẹp json
Để phân tích và gỡ lỗi dữ liệu JSON, chúng ta 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 cho 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']]
8.Ví dụ 5: Python Print Print Json
import json
person_string = '{"name": "Bob", "languages": "English", "numbers": [2, 1.6, null]}'
# Getting dictionary
person_dict = json.loads[person_string]
# Pretty Printing JSON string back
print[json.dumps[person_dict, indent = 4, sort_keys=True]]
Khi bạn chạy chương trình, đầu ra sẽ là:
{ "languages": "English", "name": "Bob", "numbers": [ 2, 1.6, null ] }
Trong chương trình trên, chúng tôi đã sử dụng không gian
{"name": "Bob",
"languages": ["English", "French"]
}
9 để thụt vào. Và, các phím được sắp xếp theo thứ tự tăng dần.Nhâ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.Bài đọc được đề xuất:
- Python JSON đến CSV và ngược lại
- Python XML đến JSON và ngược lại
- Python Simplejson