Computer >> Máy Tính >  >> Lập trình >> Python

Cách phân tích cú pháp JSON bằng Python

Làm cách nào để chúng tôi phân tích cú pháp JSON bằng Python. Đầu tiên, chúng tôi tải một tệp JSON bằng phương thức json.load (). Kết quả là một từ điển Python. Sau đó, chúng tôi có thể truy cập các trường bằng phương pháp từ điển.

JSON là một định dạng trao đổi dữ liệu nhẹ.

Để trích xuất thông tin từ tệp JSON hoặc phản hồi JSON, chúng tôi phải phân tích cú pháp dữ liệu.

Phân tích cú pháp JSON bằng Python

Chúng tôi sẽ sử dụng JSON sau trong ví dụ của chúng tôi:

{
   "store":{
      "book":[
         {
            "category":"reference",
            "author":"Nigel Rees",
            "title":"Sayings of the Century",
            "price":8.95
         },
         {
            "category":"fiction",
            "author":"Evelyn Waugh",
            "title":"Sword of Honour",
            "price":12.99
         }
      ],
      "bicycle":{
         "color":"red",
         "price":19.95
      }
   },
   "expensive":10
}

Bước đầu tiên là tải tệp JSON bằng Python:

import json

with open('store.json') as json_file:
    data = json.load(json_file)
print(data)

Tệp JSON hiện được lưu trữ trong data biến.

Phương thức in sẽ chỉ in JSON ở trên.

Lưu ý:Phương thức trên sẽ lưu trữ JSON dưới dạng từ điển python . Chúng ta có thể kiểm tra điều này bằng cách in type, print (type (dữ liệu)).

Hướng dẫn JSON - Tìm hiểu Cách sử dụng JSON với JavaScript

Cách phân tích cú pháp JSON bằng Python

Trích xuất dữ liệu cụ thể từ JSON

Bây giờ chúng ta có JSON dưới dạng từ điển Python, chúng ta có thể tìm nạp một số dữ liệu nhất định bằng cách chỉ định trường, đại diện cho khóa key trong từ điển.

Ví dụ:để tìm giá xe đạp trong JSON ở trên, chúng tôi sẽ sử dụng:

print(data['store']['bicycle']['price'])

Đầu ra:

19.95

Trích xuất dữ liệu từ mảng JSON

Trong ví dụ JSON ở trên, trường “sách” là một Mảng JSON.

Chúng tôi có thể sử dụng ký hiệu chỉ mục để tìm nạp các mục cụ thể.

Ví dụ:để lấy tên của cuốn sách thứ hai, chúng tôi sẽ sử dụng:

print(data['store']['book'][1]['title'])

Đầu ra:

Sword of Honour

Phân tích cú pháp có điều kiện của JSON

Giả sử chúng tôi muốn nhận tất cả các cuốn sách có giá nhỏ hơn hoặc bằng 10,00.

Sau đó, chúng tôi sẽ sử dụng:

books = data['store']['book']
for book in books:
    if book['price'] <= 10.00:
        print(book)

Đầu ra:

{'category': 'reference', 'author': 'Nigel Rees', 'title': 'Sayings of the Century', 'price': 8.95}

Kết luận

Trong bài đăng này, chúng tôi đã xem xét cách phân tích cú pháp JSON trong Python. Điểm mấu chốt ở đây là khi tệp JSON được tải, nó sẽ được lưu trữ dưới dạng từ điển Python. Sau khi có từ điển, chúng ta có thể sử dụng các phương thức từ điển thông thường để trích xuất các giá trị cụ thể từ JSON.