Dạng đầy đủ của JSON là JavaScript Object Notation. Nó có nghĩa là một tệp script (thực thi) được tạo bằng văn bản bằng ngôn ngữ lập trình, được sử dụng để lưu trữ và truyền dữ liệu. Python hỗ trợ JSON thông qua một gói tích hợp có tên là json. Để sử dụng tính năng này, chúng ta import gói json trong tập lệnh Python. Văn bản trong JSON được thực hiện thông qua chuỗi được trích dẫn chứa các giá trị trong ánh xạ từ khóa-giá trị bên trong {}.

1. Đọc từ JSON

Khá dễ dàng để tải một đối tượng JSON bằng Python. Python có một gói tích hợp được gọi là json, có thể được sử dụng để làm việc với dữ liệu JSON. Nó được thực hiện bằng cách sử dụng mô-đun json, mô-đun này cung cấp cho chúng ta rất nhiều phương thức trong số các phương thức load() và load() sẽ giúp chúng tađọc tệp JSON.

2. Chuyển đổi JSON

Deserialization của JSON có nghĩa là chuyển đổi các đối tượng JSON thành các đối tượng Python tương ứng của chúng. Phương thức load () / loading () được sử dụng cho nó. Nếu bạn đã sử dụng dữ liệu JSON từ một chương trình khác hoặc lấy dưới dạng định dạng chuỗi của JSON, thì nó có thể dễ dàng được giải mã bằng load () / loading (), thường được sử dụng để tải từ chuỗi, nếu không thì đối tượng gốc nằm trong danh sách hoặc lệnh nào đó. 

Xem bảng sau được đưa ra dưới đây.

JSON OBJECTPYTHON OBJECT
objectdict
arraylist
stringstr
nullNone
number (int)int
number (real)float
trueTrue
falseFalse

json.load (): json.load () chấp nhận đối tượng tệp, phân tích cú pháp dữ liệu JSON, điền vào dictionary của Python với dữ liệu và trả lại cho bạn.

Cú pháp:

json.load(file object)

Ví dụ: Giả sử tệp JSON trông giống như sau:

{
   "eBooks":[
      {
         "language":"Pascal",
         "edition":"third"
      },
      {
         "language":"Python",
         "edition":"four"
      },
      {
         "language":"SQL",
         "edition":"second"
      }
   ]
}

Chúng tôi muốn đọc nội dung của tập tin này. Dưới đây là cách thực hiện.

# Python program to read
# json file
 
 
import json
 
# Opening JSON file
f = open('data.json',)
 
# returns JSON object as
# a dictionary
data = json.load(f)
 
# Iterating through the json
# list
for i in data['eBooks']:
    print(i)
 
# Closing file
f.close()

Kq:

{
         "language":"Pascal",
         "edition":"third"
      },
      {
         "language":"Python",
         "edition":"four"
      },
      {
         "language":"SQL",
         "edition":"second"
      }

json.loads(): 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 phương thức json.loads ().json.loads () không lấy đường dẫn tệp, nhưng nội dung tệp dưới dạng một chuỗi, sử dụng fileobject. read () với json.loads () chúng ta có thể trả về nội dung của tệp.

Cú pháp

json.loads(jsonstring) #for Json string

json.loads(fileobject.read()) #for fileobject

Ví dụ: Exmaple này hiển thị việc đọc từ cả chuỗi và tệp JSON. Tệp được hiển thị ở trên đã được sử dụng.

# Python program to read
# json file
 
 
import json
 
 
# JSON string
a = '{"name": "Bob", "languages": "English"}'
 
# deserializes into dict
# and returns dict.
y = json.loads(a)
 
print("JSON string = ", y)
print()
 
 
 
# JSON file
f = open ('data.json', "r")
 
# Reading from file
data = json.loads(f.read())
 
# Iterating through the json
# list
for i in data['eBooks']:
    print(i)
 
# Closing file
f.close()

output

JSON string = {"name": "Bob", "languages": "English"}

{
         "language":"Pascal",
         "edition":"third"
      },
      {
         "language":"Python",
         "edition":"four"
      },
      {
         "language":"SQL",
         "edition":"second"
      }

Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.

Nguồn và Tài liệu tiếng anh tham khảo:

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!