Python JSON
JSON là một cú pháp để lưu trữ và trao đổi dữ liệu.
JSON là văn bản, được viết bằng ký hiệu đối tượng JavaScript.
JSON trong Python
Python có gói tích hợp sẵn có tên json
, có thể được sử dụng để làm việc với dữ liệu JSON.
Ví dụ
Nhập mô-đun json:
import json
Phân tích cú pháp JSON - Chuyển đổi từ JSON sang Python
Nếu có chuỗi JSON, bạn có thể phân tích cú pháp bằng cách sử dụng phương thức json.loads()
.
Kết quả sẽ là một từ điển Python .
Ví dụ
Chuyển đổi từ JSON sang Python:
import json
# some JSON:
x = '{ "name":"John", "age":30, "city":"New
York"}'
# parse x:
y = json.loads(x)
# the result is a
Python dictionary:
print(y["age"])
Hãy tự mình thử »Chuyển đổi từ Python sang JSON
Nếu bạn có một đối tượng Python, bạn có thể chuyển đổi nó thành chuỗi JSON bằng cách sử dụng phương thức json.dumps()
.
Ví dụ
Chuyển đổi từ Python sang JSON:
import json
# a Python object (dict):
x = {
"name":
"John",
"age": 30,
"city": "New York"
}
#
convert into JSON:
y = json.dumps(x)
# the result is a JSON string:
print(y)
Hãy tự mình thử » Bạn có thể chuyển đổi các đối tượng Python thuộc các loại sau thành chuỗi JSON:
- mệnh lệnh
- danh sách
- bộ đồ
- sợi dây
- int
- trôi nổi
- ĐÚNG VẬY
- SAI
- Không có
Ví dụ
Chuyển đổi các đối tượng Python thành chuỗi JSON và in các giá trị:
import json
print(json.dumps({"name": "John", "age": 30}))
print(json.dumps(["apple",
"bananas"]))
print(json.dumps(("apple", "bananas")))
print(json.dumps("hello"))
print(json.dumps(42))
print(json.dumps(31.76))
print(json.dumps(True))
print(json.dumps(False))
print(json.dumps(None))
Hãy tự mình thử »Khi bạn chuyển đổi từ Python sang JSON, các đối tượng Python sẽ được chuyển đổi thành JSON (JavaScript) tương đương:
Python | JSON |
---|---|
dict | Object |
list | Array |
tuple | Array |
str | String |
int | Number |
float | Number |
True | true |
False | false |
None | null |
Ví dụ
Chuyển đổi một đối tượng Python chứa tất cả các kiểu dữ liệu hợp pháp:
import json
x = {
"name":
"John",
"age": 30,
"married": True,
"divorced": False,
"children": ("Ann","Billy"),
"pets":
None,
"cars": [
{"model": "BMW 230", "mpg":
27.5},
{"model": "Ford Edge", "mpg": 24.1}
]
}
print(json.dumps(x))
Hãy 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 thụt lề và ngắt dòng.
Phương thức json.dumps()
có các tham số để dễ đọc kết quả hơn:
Ví dụ
Sử dụng tham số indent
để xác định số lượng thụt lề:
json.dumps(x, indent=4)
Hãy tự mình thử »Bạn cũng có thể xác định các dấu phân cách, giá trị mặc định là (", ", ": "), 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ị:
Ví dụ
Sử dụng tham số separators
để thay đổi dấu phân cách mặc định:
json.dumps(x, indent=4, separators=(". ", " = "))
Hãy tự mình thử »Đặt hàng kết quả
Phương thức json.dumps()
có các tham số để sắp xếp các khóa trong kết quả:
Ví dụ
Sử dụng tham số sort_keys
để xác định xem kết quả có được sắp xếp hay không:
json.dumps(x, indent=4, sort_keys=True)
Hãy tự mình thử »