×

Xử lý dữ liệu JSON với module json trong Python

Trong Python, module json cung cấp các phương pháp mạnh mẽ và đơn giản để xử lý dữ liệu JSON. JSON (JavaScript Object Notation) là một định dạng nhẹ để trao đổi dữ liệu. Rất phổ biến do tính dễ đọc và dễ viết cho cả con người và máy móc. Python hỗ trợ việc chuyển đổi giữa đối tượng Python và chuỗi JSON, cũng như việc đọc và viết dữ liệu JSON từ tệp.

Đọc và Ghi Dữ liệu JSON

Chuyển Đổi Từ JSON Thành Đối Tượng Python

Để xử lý dữ liệu JSON, phương pháp hay được sử dụng nhất là json.loads(), cho phép bạn chuyển đổi chuỗi JSON thành đối tượng Python:

import json

json_string = '{"name": "John", "age": 30, "city": "New York"}'
python_dict = json.loads(json_string)

print(python_dict)
print(type(python_dict))

Trong ví dụ trên, chuỗi JSON được chuyển đổi thành dictionary Python.

Chuyển Đổi Từ Đối Tượng Python Thành JSON

Ngược lại, để chuyển đổi từ đối tượng Python thành chuỗi JSON, ta sử dụng phương pháp json.dumps():

import json

python_dict = {"name": "John", "age": 30, "city": "New York"}
json_string = json.dumps(python_dict)

print(json_string)
print(type(json_string))

Phương pháp này sẽ chuyển đổi dictionary Python thành chuỗi JSON.

Đọc và Viết JSON từ Tệp

Đọc Dữ Liệu JSON Từ Tệp

Để đọc dữ liệu JSON từ tệp, ta thường sử dụng json.load():

import json

with open('data.json', 'r') as file:
    data = json.load(file)

print(data)
print(type(data))

Phương pháp này giúp đọc nội dung tệp JSON và chuyển đổi nó thành đối tượng Python.

Ghi Dữ Liệu JSON Vào Tệp

Để ghi dữ liệu vào tệp ở định dạng JSON, ta sử dụng json.dump():

import json

data = {"name": "John", "age": 30, "city": "New York"}

with open('data.json', 'w') as file:
    json.dump(data, file)

Phương pháp này ghi dữ liệu vào tệp và serialize nó thành định dạng JSON.

Các Tuỳ Chọn Bổ Sung

Module json còn cung cấp nhiều tùy chọn bổ sung để kiểm soát quá trình chuyển đổi dữ liệu.

  • Thụt lề (Indentation): Bạn có thể sử dụng tham số indent để làm cho chuỗi JSON dễ đọc hơn.
import json

data = {"name": "John", "age": 30, "city": "New York"}
json_string = json.dumps(data, indent=4)

print(json_string)
  • Sắp Xếp Key: Tham số sort_keys cho phép sắp xếp các key của đối tượng JSON.
import json

data = {"name": "John", "age": 30, "city": "New York"}
json_string = json.dumps(data, sort_keys=True)

print(json_string)

Xử Lý Lỗi

Trong quá trình xử lý dữ liệu JSON, có thể phát sinh lỗi như khi chuỗi không đúng định dạng JSON. Python cung cấp các ngoại lệ để xử lý các tình huống này.

import json

json_string = '{"name": "John", "age": 30, "city": "New York"'

try:
    data = json.loads(json_string)
except json.JSONDecodeError as e:
    print(f"JSONDecodeError: {e}")

Kết Luận

Sử dụng module json trong Python để xử lý dữ liệu JSON là một kỹ năng quan trọng và hữu ích. Từ việc chuyển đổi giữa đối tượng Python và chuỗi JSON, đến việc đọc và ghi dữ liệu từ tệp, module này cung cấp nhiều công cụ mạnh mẽ để làm việc với JSON. Bằng cách nắm vững các kỹ thuật này, bạn có thể quản lý dữ liệu JSON một cách hiệu quả và linh hoạt trong các ứng dụng Python của mình.

Comments