Hướng dẫn lập trình với JSON trong Python

Ngày đăng: 27/04/2019   -    Cập nhật: 23/10/2020

Giới thiệu về JSON


JSON (JavaScript Object Notation): Là một định dạng dữ liệu rất phổ biến, được dùng để lưu trữ và thể hiện các dữ liệu có  cấu trúc.


JSON là định dạng dữ liệu phổ biến được sử dụng để truyền và nhận dữ liệu giữa ứng dụng web và web server.


Python cho phép thao tác với JSON dưới dạng chuỗi hoặc lưu đối tượng JSON vào trong file.



Hướng dẫn Lập trình với JSON trong Python

Hướng dẫn Lập trình với JSON trong Python
 

Ví dụ về Import JSON, khai báo, đọc và in dữ liệu JSON bằng Python


Để có thể làm việc với JSON, ta cần import module json. Ta cần import module trước khi gọi các hàm để thao tác với json.


Để có thể parse một JSON string, ta gọi method json.loads(). Phương thức này sẽ trả về một đối tượng dictionary chứa dữ liệu được chứa trong JSON string.


Ví dụ:


Trong ví dụ này, ta đã khai báo một string có chứa dữ liệu JSON, rồi gọi method loads() để xử lý chuỗi này.


Phương thức loads() sẽ trả về một đối tượng dictionary chứa toàn bộ dữ liệu json.


Sau đó ta in ra toàn bộ dữ liệu trong dictionary, rồi in ra value của key là ‘durian’.




# Import json module
import json

# Khai báo một JSON string
listfruits = '{"orange":"Qua cam", "strawberry":"Day tay", '\
             '"grape":"Nho", "durian":"Sau rieng"}'

# Đọc JSON String, method này trả về một Dictionary
mylist = json.loads(listfruits)

# In ra thông tin của Dictionary
print(mylist)

# In ra một giá trị trong Dictionary
print(mylist['durian'])
 


Kết quả được hiển thị như trong hình bên dưới:

Khởi tạo dữ liệu JSON trong Python

Khởi tạo dữ liệu JSON trong Python
 

Ví dụ về ghi dữ liệu JSON trong Python


Để đọc một file có chứa JSON object, ta gọi method json.load().


Để chuyển đổi từ một dictionary thành một JSON string, ta gọi method json.dumps().


Để ghi dữ liệu JSON ra file trong Python, ta sử  dụng method json.dump().


Ví dụ:


Trong ví dụ này, ta đã khai báo một chuỗi chứa dữ liệu JSON.


Tiếp theo ta tạo và mở file có tên là coffee.txt. Sau đó ta gọi phương thức dump() để ghi dữ liệu json vào file.




import json

# Khai báo JSON String
coffees = "{"capuchino":"Cafe Italian",
"expresso": ["Matcha""Mocha"],
"VietNam"True,
"latte"32
}"

# Ghi dữ liệu vào file coffee.txt
with open('coffee.txt''w'as myfile:
  json.dump(coffeesmyfile)

print('Ghi file thanh cong !')
 


Kết quả được hiển thị như hình bên dưới:
Ghi dữ liệu vào file JSON

Ghi dữ liệu vào file JSON


Sau khi thực thi thành công chương trình, ta có thể thấy file coffee.txt đã được tạo ra trong project như hình sau:

Ghi dữ liệu vào file JSON - Tạo file JSON thành công

Ghi dữ liệu vào file JSON - Tạo file coffee.txt

 

Để kiểm tra, ta mở file và thấy dữ liệu đã được ghi vào file thành công đúng như mong muốn:

Ghi dữ liệu vào file JSON - Dữ liệu ghi trong file coffee.txt

Ghi dữ liệu vào file JSON - Dữ liệu ghi trong file coffee.txt


Ví dụ về Phương thức sắp xếp JSON trong Python


Phương thức json.dumps() cung cấp các tham số để cho phép định dạng kết quả (thụt lề) hoặc sắp xếp kết quả xử lý.


Ví dụ:


Trong ví dụ dưới đây, ta khai báo một string json gồm các loại trái cây.


Sau đó, ta gọi method dumps() để xử lý string json ở trên.


Đồng thời ta đã truyền 2 tham số cho method này, để cho phép thụt lề kết quả vào 4 ký tự, và sắp xếp kết quả theo thứ tự aphabet của key.




import json

# Khai báo JSON String
danhsachhoaqua = "{
  "mango":"Qua xoai",
  "strawberry":"Dau tay",
  "avocado":"Qua bo",
  "durian":"Sau rieng",
  "orange":"Qua cam",
  "lemon":"Dua hau",
  "coconut":"Qua dua",
}"

# Xử lý và sắp xếp kết quả của JSON String theo key
print(json.dump(danhsachhoaquaindent=4sort_keys=True))
 


Kết quả được hiển thị đúng như ta mong  muốn. Các phần tử đã được sắp xếp lại theo key như hình bên dưới.


Sắp xếp dữ liệu trong JSON

Sắp xếp dữ liệu trong JSON


Chúc mừng bạn biết thêm về cách thao tác với JSON trong Python


Như vậy là bạn đã biết một số thao tác cơ bản với JSON trong Python. Hãy luyện tập lại các ví dụ, đảm bảo rằng bạn hiểu rõ rồi mới sang bài tiếp theo nhé.


> Hoặc tham gia ngay KHÓA HỌC PYTHON để có kiến thức đầy đủ, bài bản hơn.



TONY HÙNG CƯỜNG
Bình luận Facebook
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!