JSON Python
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 với ký hiệu đối tượng JavaScript.
JSON bằng Python
Python có một gói tích hợp được gọi là json
, gói này có thể được sử dụng để làm việc với dữ liệu JSON.
Thí 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 bạn có một chuỗi JSON, bạn có thể phân tích cú pháp nó bằng cách sử dụng
json.loads()
phương thức.
Kết quả sẽ là một từ điển Python .
Thí 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"])
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 một chuỗi JSON bằng cách sử dụng json.dumps()
phương thức này.
Thí 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)
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
- tuple
- chuỗi
- int
- trôi nổi
- Đúng vậy
- Sai
- Không có
Thí 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))
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:
Python | JSON |
---|---|
dict | Object |
list | Array |
tuple | Array |
str | String |
int | Number |
float | Number |
True | true |
False | false |
None | null |
Thí dụ
Chuyển đổi một đối tượng Python có 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))
Định dạng kết quả
Ví dụ trên in ra một chuỗi JSON, nhưng nó không dễ đọc, không có thụt lề và ngắt dòng.
Phương json.dumps()
thức có các tham số để giúp đọc kết quả dễ dàng hơn:
Thí dụ
Sử dụng indent
tham số để xác định số lượng thụt lề:
json.dumps(x, indent=4)
Bạn cũng có thể xác định các 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 các khóa khỏi các giá trị:
Thí dụ
Sử dụng separators
tham số để thay đổi dấu phân tách mặc định:
json.dumps(x, indent=4, separators=(". ", " = "))
Đặt hàng kết quả
Phương json.dumps()
thức này có các tham số để sắp xếp các khóa trong kết quả:
Thí dụ
Sử dụng sort_keys
tham số để chỉ định xem kết quả có nên được sắp xếp hay không:
json.dumps(x, indent=4, sort_keys=True)