Cách lấy dữ liệu JSON từ API REST trong Python

Ký hiệu đối tượng JavaScript, viết tắt là JSON, là định dạng dựa trên văn bản tiêu chuẩn để biểu thị dữ liệu có cấu trúc. Định dạng tệp JSON tương tự như định dạng của từ điển. Một JSON đơn giản có thể trông như thế này

Bạn cũng có thể viết một đối tượng JSON với hỗn hợp các chuỗi và số như hình bên dưới

person_a = {
"name": "Harrison baker",
"age": 30,
"married": True,
"kids": 2,
"cars": None,
"pets": [
{"name": "Spooky", "age": 3},
{"name": "pinky", "age": 2}
]
}
Chuyển đổi JSON sang Python

Python đi kèm với một gói tích hợp có tên là json, được sử dụng để thao tác và phân tích dữ liệu JSON. Dữ liệu trong json có phần mở rộng là

{"first_name": "first_name","last_name": "Bullock","Profession": "Actor","gender":"Female","Zodiac":"Dragon"}
4, phần mở rộng này cho chúng ta biết tệp chứa dữ liệu ở định dạng JSON

Tạo một thư mục JSON và thêm hai tệp, cụ thể là

  • {"first_name": "first_name","last_name": "Bullock","Profession": "Actor","gender":"Female","Zodiac":"Dragon"}
    5
  • {"first_name": "first_name","last_name": "Bullock","Profession": "Actor","gender":"Female","Zodiac":"Dragon"}
    6

Thêm phần sau vào

{"first_name": "first_name","last_name": "Bullock","Profession": "Actor","gender":"Female","Zodiac":"Dragon"}
5

{"first_name": "first_name","last_name": "Bullock","Profession": "Actor","gender":"Female","Zodiac":"Dragon"}

Để đọc nội dung của file json, đầu tiên chúng ta sẽ import json và sử dụng lệnh

{"first_name": "first_name","last_name": "Bullock","Profession": "Actor","gender":"Female","Zodiac":"Dragon"}
8 để đọc nội dung của file. Mở json_data. py và nhập gói json

import json

Đọc tệp bằng lệnh open[] và in nội dung của dữ liệu. tập tin json

________số 8

Ở đây chúng tôi đang sử dụng phương pháp

{"first_name": "first_name","last_name": "Bullock","Profession": "Actor","gender":"Female","Zodiac":"Dragon"}
9 để phân tích chuỗi JSON thành chuỗi python. đầu ra sẽ là

{"first_name": "first_name","last_name": "Bullock","Profession": "Actor","gender":"Female","Zodiac":"Dragon"}
02 Ghi vào tệp JSON

Đôi khi bạn muốn lưu dữ liệu JSON vào một tệp, gói JSON cho phép bạn thực hiện điều đó trong các bước đơn giản

Giả sử chúng ta có dữ liệu JSON sau đây mà bạn muốn lưu vào một tệp

{"first_name": "first_name","last_name": "Bullock","Profession": "Actor","gender":"Female","Zodiac":"Dragon"}
1

Chúng tôi sẽ sử dụng lệnh open[] và thêm một đối số 'w', như hình bên dưới

{"first_name": "first_name","last_name": "Bullock","Profession": "Actor","gender":"Female","Zodiac":"Dragon"}
2

Ở đây chúng tôi sử dụng lệnh open[] làm tệp chế độ ghi dưới biến new_json và sau đó sử dụng json. phương thức dump[] để ghi vào tệp.
json. dump[] nhận hai đối số i. e. , đối tượng dữ liệu, sau đó là đối tượng tệp bạn muốn lưu.

Như bạn có thể thấy ở trên, tệp

import json
0 đã được tạo trong thư mục của chúng tôi và chứa dữ liệu được ghi vào đó

Xây dựng API đơn giản với Flask-REST-JSONAPI

Flask-REST-JSONAPI là một tiện ích mở rộng cho Flask bổ sung hỗ trợ để xây dựng nhanh các API REST với tính linh hoạt cao xung quanh JSONAPI 1. 0 đặc điểm kỹ thuật. Nó được thiết kế để phù hợp với sự phức tạp của môi trường thực tế, vì vậy Flask-REST-JSONAPI giúp bạn tạo một bản tóm tắt logic cho dữ liệu của mình được gọi là “tài nguyên” và có thể giao tiếp với bất kỳ loại ORM hoặc lưu trữ dữ liệu nào thông qua khái niệm lớp dữ liệu

Chúng tôi sẽ sử dụng Flask-REST-JSONAPI để xây dựng API JSON đơn giản. API sẽ có thể đọc, thêm, cập nhật, xóa dữ liệu. Tạo một thư mục cho dự án

{"first_name": "first_name","last_name": "Bullock","Profession": "Actor","gender":"Female","Zodiac":"Dragon"}
4

Tạo, kích hoạt môi trường ảo và cài đặt các phụ thuộc dự án chủ yếu là bình, Flask-SQLAlchemy và Flask-REST-JSONAPI

{"first_name": "first_name","last_name": "Bullock","Profession": "Actor","gender":"Female","Zodiac":"Dragon"}
5

Tạo một tệp

import json
1

{"first_name": "first_name","last_name": "Bullock","Profession": "Actor","gender":"Female","Zodiac":"Dragon"}
7

trong ứng dụng. py, tạo phiên bản ứng dụng bình và định cấu hình cơ sở dữ liệu SQLite đơn giản

{"first_name": "first_name","last_name": "Bullock","Profession": "Actor","gender":"Female","Zodiac":"Dragon"}
0

Xác định mô hình Nhiệm vụ

{"first_name": "first_name","last_name": "Bullock","Profession": "Actor","gender":"Female","Zodiac":"Dragon"}
1

Tiếp theo, chúng tôi sẽ tạo một lớp trừu tượng hóa dữ liệu logic bằng marshmallow, điều này rất quan trọng để không làm lộ một số chi tiết nhất định về API của bạn

Marshmallow là một thư viện ORM/ODM/framework-agnostic để chuyển đổi các loại dữ liệu phức tạp, chẳng hạn như các đối tượng, sang và từ các kiểu dữ liệu Python gốc

Trước tiên hãy bắt đầu bằng cách cài đặt marshmallow

{"first_name": "first_name","last_name": "Bullock","Profession": "Actor","gender":"Female","Zodiac":"Dragon"}
2

Hãy tạo lớp trừu tượng hóa dữ liệu

Tiếp theo, chúng tôi sẽ tạo trình quản lý tài nguyên

Trình quản lý tài nguyên liên kết phần trừu tượng hóa dữ liệu, lớp dữ liệu và phần mềm khác

import json
2 kế thừa từ
import json
3 và cấp quyền truy cập vào các phương thức GET và POST. Điều này cho phép bạn tạo một đối tượng tạo hoặc truy xuất một tập hợp các đối tượng tác vụ

import json
4 thừa hưởng từ
import json
5. và cấp quyền truy cập vào các phương thức GET, PATCH và DELETE

Bước cuối cùng là tạo REST Endpoint

{"first_name": "first_name","last_name": "Bullock","Profession": "Actor","gender":"Female","Zodiac":"Dragon"}
3

ứng dụng tập tin của bạn. py bây giờ sẽ trông như thế này

Bây giờ hãy chạy máy chủ và điều hướng đến http. //127. 0. 0. 1. 5000/tác vụ, không có dữ liệu, hãy thêm một số dữ liệu bằng cách sử dụng người đưa thư

POST điểm cuối

Đảm bảo rằng bạn đặt Loại nội dung là “application/vnd. api+json” trong tiêu đề của bạn

NHẬN yêu cầu

NHẬN điểm cuối

Bạn cũng có thể xóa một tác vụ bằng cách truy vấn id của nó

DELETEKết luận

Hướng dẫn này đã trình bày cách tạo và phân tích cú pháp JSON trong bài viết này. Bạn cũng đã xây dựng một JSON API đơn giản với Python

JSON là định dạng dữ liệu ưa thích của các nhà phát triển và được sử dụng trong cấu hình dữ liệu cho các ứng dụng cũng như tạo API. Bạn cũng có thể xem hướng dẫn này về cách xây dựng API CRUD với Flask và PostgreSQL

Nếu bạn thích đọc nội dung này, hãy cân nhắc đăng ký để trở thành thành viên của Medium

Thêm nội dung bằng tiếng Anh. io. Đăng ký nhận bản tin hàng tuần miễn phí của chúng tôi. Nhận quyền truy cập độc quyền để viết các cơ hội và lời khuyên trong cộng đồng của chúng tôi Discord

Làm cách nào để trích xuất dữ liệu JSON từ API Python?

Trong ví dụ này, chúng tôi sẽ kết nối với API COVID nguồn mở chỉ để trích xuất và phân tích cú pháp thông tin json theo cách tùy chỉnh. .
Kết nối với một API. .
Lấy dữ liệu từ API. .
Phân tích dữ liệu thành định dạng JSON. .
Trích xuất dữ liệu và in nó

API REST có trả về JSON không?

API REST phải chấp nhận JSON cho tải trọng yêu cầu và cũng gửi phản hồi tới JSON . JSON là tiêu chuẩn để truyền dữ liệu. Hầu như mọi công nghệ nối mạng đều có thể sử dụng nó. JavaScript có các phương thức tích hợp để mã hóa và giải mã JSON thông qua API tìm nạp hoặc ứng dụng khách HTTP khác.

Chủ Đề