Json là gì và cách sử dụng trong Python

Json là 1 chuẩn dữ liệu đơn giản nhưng cực kỳ hiệu quả trong việc biểu diễn dữ liệu. Với sự gọn nhẹ nhưng rất linh hoạt Json đã được rất nhiều ngôn ngữ lập trình hỗ trợ, đồng thời rất dễ giao tiếp giữa các ngôn ngữ lập trình với nhau.

Bài viết này không đi quá sâu mà chỉ hướng dẫn các bạn hiểu để khai thác sự linh hoạt của Json trong Python.

Json có cấu trúc như thế nào

Hiểu đơn giản Json có 2 dạng: Object Array. Object là 1 đối tượng chứa các element trong đó, còn Array chứa nhiều Object. Object được bao trong ngoặc {}, còn Array được bao trong ngoặc [].

Nhưng sự linh hoạt của Json cho phép trong Object có Array, trong Array cũng có thể chứa nhiều Array, tùy theo nhu cầu của bạn. Tuy nhiên hay sử dụng nhất là 1 json object biểu diễn dữ liệu của 1 class.

Khi bạn gọi hàm print(type(object)) thì kết quả là dict, đó là dictionary – kiểu từ điển.

Các ví dụ về sử dụng Json trong Python

Object sinh viên đơn giản

Như vậy ta có thể lấy họ tên và năm sinh của sinh viên này bằng cách lấy element có tên là namebirthday:


Array lớp học K32 Đại học Cần Thơ có nhiều object sinh viên

Như vậy ta có lớp k32 có 2 sinh viên, để lấy sinh viên 1 và 2 (index là 0 và 1):


Kiểu array của trường dữ liệu

Ta có 1 sinh viên có nhiều lần làm lại CMND và vẫn giữ nguyên số, vậy trường CMND là 1 Array của sinh viên đó

{'CMND_num': '0001222211', 'date': '01/01/2000'}
{'CMND_num': '0001222211', 'date': '02/02/2001'}


Đếm số Object trong Array

Chỉ cần sử dụng hàm len() là biết được số lượng sinh viên trong lớp

2


Đếm số Element trong Object

Ta cũng dùng hàm len() là được

3


Vòng lặp qua các object trong mảng

{'name': 'vo hung vi', 'birthday': 1990}
{'name': 'nguyen van A', 'birthday': 1991}


Vòng lặp qua các object trong mảng kèm theo index

Sử dụng enumerate là được

0 {'name': 'vo hung vi', 'birthday': 1990}
1 {'name': 'nguyen van A', 'birthday': 1991}


Chuyển json thành string

Chỉ cần ép kiểu qua str() là được hoặc dùng json.dumps()


Load string thành json object

Bạn cần phải import json để load, lưu ý với nháy đơn và nháy kép thì cách gọi khác nhau, nếu không sẽ bị lỗi.
Lưu ý: đúng chuẩn của json là ‘{“element” : “value”}’


Save json object xuống file


Load json object từ file


Sắp xếp các object trong array

Ví dụ có danh sách các sinh viên trong lớp, muốn sắp xếp theo điểm giảm dần thì làm như sau:

[{'name': 'Nguyen Van A', 'birthday': 1991, 'score': 3.6}, {'name': 'Vo Hung Vi', 'birthday': 1990, 'score': 3.2}, {'name': 'Tran Thi B', 'birthday': 1991, 'score': 3.0}]

Tổng kết

Với những example trên mình nghĩ là đủ cho các bạn sử dụng trong 1 số project đơn giản. Và quan trọng nhất là các bạn sẽ thấy json thật dễ dàng sau khi thử thực hành.

Leave a Reply