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

JSON Python

JSON là một định dạng dữ liệu phổ biến được sử dụng để lưu trữ dữ liệu có cấu trúc.

Khi bạn đang xây dựng một ứng dụng bằng Python, bạn có thể quyết định rằng bạn muốn sử dụng JSON trong ứng dụng của mình. Ví dụ:bạn có thể muốn đọc dữ liệu từ tệp JSON hoặc ghi dữ liệu được lưu trữ ở định dạng JSON vào một tệp.

Trong hướng dẫn này, chúng ta sẽ phân tích những điều cơ bản về định dạng dữ liệu JSON, cách sử dụng mô-đun json Python và cách làm việc với JSON trong Python. Khi đọc xong hướng dẫn này, bạn sẽ trở thành chuyên gia sử dụng JSON trong các chương trình Python của mình!

JSON là gì?

JSON, viết tắt của JavaScript Object Notation, là một định dạng dữ liệu cho phép bạn lưu trữ dữ liệu có cấu trúc.

Thông thường, JSON được sử dụng để gửi dữ liệu đến và từ một máy chủ trong một ứng dụng web. Ví dụ:bạn có thể đã thấy rằng nhiều API như API Fitbit hoặc API Google Maps trả về dữ liệu ở định dạng JSON

Điều này là do dữ liệu JSON được chuẩn hóa, có cấu trúc và dễ đọc.

Đây là một ví dụ về bản ghi JSON trong Python:

 {"name":"James Smith", "id":202, "quản chế":False} 

Bản ghi này lưu trữ ba khóa, ở bên trái của dấu hai chấm (:) và ba giá trị, được lưu ở bên phải của dấu hai chấm. Mỗi khóa được liên kết với một giá trị.

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

Không nên nhầm lẫn định dạng dữ liệu JSON với từ điển. Mặc dù điều này có thể trông giống như một từ điển, nhưng JSON là một định dạng dữ liệu, trong khi một từ điển là một cấu trúc dữ liệu.

Điều này có nghĩa là, nếu bạn muốn lưu trữ dữ liệu JSON của mình trong một từ điển, bạn sẽ cần phải chuyển đổi nó sang một từ điển; nếu bạn muốn lưu trữ một từ điển dưới dạng JSON, bạn sẽ cần chuyển đổi nó thành JSON.

Nhập json bằng Python

Trước khi bắt đầu làm việc với các đối tượng JSON trong Python, bạn sẽ cần nhập mô-đun json Python. Mô-đun này bao gồm một số chức năng cho phép bạn làm việc với dữ liệu JSON.

Để nhập mô-đun JSON, bạn có thể sử dụng câu lệnh sau:

import json

Bây giờ chúng tôi đã nhập mô-đun JSON vào mã của bạn, chúng tôi có thể bắt đầu làm việc với các chức năng của nó.

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

Một trong những chức năng quan trọng nhất mà bạn cần thực hiện khi làm việc với dữ liệu JSON là phân tích cú pháp JSON thành từ điển.

Để phân tích cú pháp JSON thành từ điển, bạn có thể sử dụng json.loads() phương pháp.

json.loads() chấp nhận một tham số:chuỗi JSON bạn muốn chuyển đổi thành từ điển.

Giả sử bạn có một chuỗi JSON lưu trữ thông tin về các dự án mà một lập trình viên được chỉ định trong nhóm kỹ sư. Bạn muốn chuyển chuỗi JSON đó thành một từ điển. Để làm như vậy, bạn có thể sử dụng mã này:

 import jsoneFastee ="{'name':'Linda Richardson', 'project':['Directory', 'Homepage']}" worker_dictionary =json.loads (worker) print (worker_dictionary) print (Employ_dictionary ["name "]) 

Mã của chúng tôi trả về:

{‘Name’:‘Linda Richardson’, ‘project’:[‘Directory’, ‘Homepage’]}

Linda Richardson

Hãy chia nhỏ mã của chúng ta. Đầu tiên, chúng tôi nhập mô-đun json vào mã của chúng tôi. Sau đó, chúng tôi khai báo một chuỗi có tên là employee lưu trữ hồ sơ nhân viên của chúng tôi trong cấu trúc JSON.

Tiếp theo, chúng tôi sử dụng json.loads() để chuyển đổi employee của chúng tôi chuỗi thành JSON. Sau đó, chúng tôi in từ điển mới của mình vào bảng điều khiển. Chúng tôi cũng in giá trị của name phím vào bảng điều khiển.

Như bạn có thể thấy, từ điển của chúng tôi trông giống như chuỗi JSON của chúng tôi. Nhưng, bây giờ dữ liệu của chúng tôi được lưu trữ dưới dạng từ điển. Chúng tôi có thể biết vì khi chúng tôi in ra giá trị của khóa “name”, “Linda Richardson” sẽ được in vào bảng điều khiển.

Chuyển đổi từ điển sang chuỗi JSON

Khi đang làm việc với từ điển, bạn có thể muốn chuyển nó thành một chuỗi JSON.

Đây là một thao tác phổ biến vì bạn lưu giá trị JSON vào một tệp, nó cần được định dạng dưới dạng một chuỗi. Để chuyển đổi từ điển sang JSON, chúng ta có thể sử dụng json.dumps() phương pháp.

Giả sử chúng ta muốn chuyển đổi một từ điển có thông tin về một nhân viên thành một chuỗi JSON. Chúng tôi có thể làm như vậy bằng cách sử dụng mã này:

 import jsoneustingee ={"name":"Linda Richardson", "id":107, "probation":False, "Department":"Sales"} worker_json =json.dumps (nhân viên) print (worker_json)  

Mã của chúng tôi trả về:

‘{“ Name ”:“ Linda Richardson ”,“ id ”:107,“ probation ”:false,“ Department ”:“ Sales ”}’

Mặc dù đầu ra của mã của chúng tôi có thể trông giống như từ điển gốc của chúng tôi, từ điển của chúng tôi hiện được lưu trữ dưới dạng một chuỗi.

Định dạng chuỗi JSON

json.dumps() phương thức đi kèm với một vài tham số mà bạn có thể sử dụng để giúp đọc chuỗi cuối cùng được tạo bởi phương thức dễ dàng hơn.

indent tham số cho phép bạn xác định số lượng thụt lề xuất hiện trong chuỗi JSON cuối cùng. Giả sử bạn muốn thêm bốn thụt lề vào mỗi dòng trên chuỗi JSON của mình. Bạn có thể làm như vậy bằng cách sử dụng json.dumps() sau tuyên bố:

 worker_json =json.dumps (nhân viên, thụt lề =4) 

Câu lệnh này, khi được kết hợp với ví dụ cuối cùng của chúng tôi, sẽ trả về:

 {"name":"Linda Richardson", "id":107, "probation":false, "Department":"Sales"} 

Bạn cũng có thể thay đổi dấu phân cách của dữ liệu trong chuỗi JSON. Các giá trị mặc định cho dấu phân tách là “,” và “:”, có nghĩa là mọi đối tượng sẽ được phân tách bằng dấu phẩy và mọi khóa và giá trị sẽ được phân tách bằng dấu hai chấm.

Giả sử chúng ta muốn các khóa và giá trị của chúng ta được phân tách bằng dấu bằng (=) và chúng ta muốn sử dụng thụt lề là 4. Chúng ta có thể làm như vậy bằng cách sử dụng câu lệnh sau:

 worker_json =json.dumps (nhân viên, thụt lề =4, dấu tách =(",", "=")) 

Mã của chúng tôi trả về:

 {"name" ="Linda Richardson", "id" =107, "probation" =false, "Department" ="Sales"} 

Như bạn có thể thấy, mọi khóa và giá trị trong chuỗi JSON của chúng tôi hiện được phân tách bằng dấu bằng.

Đọc tệp JSON

Để đọc tệp JSON bằng Python, bạn có thể sử dụng json.load() . Phương thức này chấp nhận một tham số:đối tượng tệp mà bạn muốn đọc trong chương trình của mình.

Giả sử chúng ta có một tệp tên là worker.json mà chúng ta muốn tải vào chương trình của mình. Nội dung của tệp này như sau:

 {"name":"Linda Richardson", "id":107, "probation":false} 

Chúng tôi có thể làm như vậy bằng cách sử dụng mã này:

 {"name":"Linda Richardson", "id":107, "probation":false} Chúng ta có thể làm như vậy bằng cách sử dụng mã này:import jsonwith open ('worker.json') as final_file:worker =json. tải (final_file) in (nhân viên) 

Mã của chúng tôi trả về:

{“Name”:“Linda Richardson”, “id”:107, “probation”:false}

Trong đoạn mã này, đầu tiên chúng ta nhập thư viện json. Sau đó, chúng tôi sử dụng with tuyên bố để đọc employee.json của chúng tôi tập tin. Chúng tôi sử dụng json.load() phương pháp chuyển đổi nội dung tệp của chúng tôi, được lưu trữ trong tệp file biến, vào một từ điển. Sau đó, chúng tôi in ra giá trị của từ điển của chúng tôi.

Ghi JSON vào một tệp

Bạn có thể sử dụng json.dump() để ghi JSON vào một tệp bằng Python.

json.dump() phương thức chấp nhận hai tham số:từ điển bạn muốn ghi vào tệp và đối tượng tệp mà bạn muốn ghi từ điển của mình.

Giả sử chúng tôi muốn lưu bản ghi của nhân viên dưới dạng giá trị JSON trong một tệp. Tên của tệp này phải là linda_employee.json . Chúng tôi có thể làm như vậy bằng cách sử dụng mã sau:

 import jsoneFastee ={"name":"Linda Richardson", "id":107, "probation":False, "Department":"Sales"} với open ('linda_employee.json', 'w') là final_file:json.dump (nhân viên, final_file) 

Hãy chia nhỏ mã của chúng ta. Đầu tiên, chúng tôi nhập mô-đun json vào chương trình của chúng tôi. Sau đó, chúng tôi khai báo một biến lưu trữ thông tin về một nhân viên tên là Linda Richardson trong cấu trúc từ điển.

Tiếp theo, chúng tôi sử dụng câu lệnh “with” với cờ “w” để chuẩn bị một tệp có tên linda_employee.json mà chúng tôi có thể viết. Sau đó, chúng tôi sử dụng json.dump() để chuyển đổi employee của chúng tôi từ điển vào một chuỗi JSON và để lưu nó vào final_file của chúng tôi vật.

Khi chương trình này được chạy, nội dung của employee của chúng tôi từ điển được ghi vào linda_employee.json tập tin. Nội dung cuối cùng của tệp này là:

{"name": "Linda Richardson", "id": 107, "probation": false, "department": "Sales"}

Kết luận

Mô-đun json Python cho phép bạn đọc và thao tác dữ liệu JSON.

Sử dụng mô-đun json, bạn có thể:

  • Đọc JSON từ một tệp
  • Chuyển đổi từ điển sang JSON
  • Chuyển đổi JSON sang từ điển
  • Ghi một chuỗi JSON vào một tệp

Trong hướng dẫn này, chúng tôi đã khám phá cách thực hiện tất cả các hoạt động này bằng cách sử dụng mô-đun json. Bây giờ, bạn đã sẵn sàng bắt đầu làm việc với dữ liệu JSON bằng Python như một người chuyên nghiệp!


Bạn có muốn học cách viết mã bằng Python không? Tải xuống ứng dụng Career Karma miễn phí ngay hôm nay để mở khóa các tài nguyên học tập hàng đầu và khám phá các chương trình đào tạo có thể giúp bạn thành thạo Python.