Như chúng ta đã biết, Python có sẵn một gói gọi là JSON. Có một vài phương thức JSON mà chúng tôi sử dụng trong công việc hàng ngày của mình để xử lý các tệp JSON. Trong bài đăng này, chúng tôi sẽ thảo luận về bốn phương pháp thường được sử dụng. g. [json. tải [], json. tải [], json. bãi [], json. bãi rác[]]. Mặc dù có nhiều blog trên internet mô tả chi tiết các phương pháp này nhưng trong bài đăng này, chúng tôi sẽ tiếp tục thảo luận về các phương pháp này. r. các phương thức tải [] và kết xuất [] đặc biệt của Snowflake
Chúng tôi sẽ xem xét trường hợp sử dụng trong đó các phương thức JSON tải[] và kết xuất[] được sử dụng bên trong hàm lambda AWS. Xem xét tình huống trong đó Hàm bên ngoài của Snowflake gọi hàm lambda AWS thông qua cổng API AWS, hàm Lambda truy xuất dữ liệu từ URL và sau khi xử lý, Lambda trả lại đầu ra này ở dạng chuỗi có định dạng JSON cho Snowflake
Thí dụ
Ví dụ: Nhận yêu cầu HTTP và lưu trữ nó trong từ điển Python hoặc bất kỳ đối tượng Python nào bằng json. tải []. Gửi dữ liệu đó trở lại ứng dụng được yêu cầu [Snowflake], vì vậy bạn cần chuyển đổi đối tượng từ điển Python thành chuỗi có định dạng JSON để gửi dưới dạng phản hồi trong chuỗi JSON. Để làm điều này, bạn cần sử dụng json. bãi []
json. trọng tải[]. nó chấp nhận một đối tượng tập tin. Để đọc dữ liệu JSON từ một tệp và chuyển đổi nó thành từ điển
ghim nó
https. //sân mây. vào/2021/06/json-methods-load-vs-loads-and-dump-vs-dumps/#ZGF0YS5qc29uXy5
with open["data_file.json", "r"] as read_content:
print[json.load[read_content]]
ghim nó
https. //sân mây. vào/2021/06/json-methods-load-vs-loads-and-dump-vs-dumps/#T3V0cHV0LTEtMTA
Json. tải []. để chuyển đổi chuỗi JSON thành từ điển. Đôi khi chúng tôi nhận được phản hồi JSON ở định dạng chuỗi. Vì vậy, để sử dụng nó trong ứng dụng của mình, chúng ta cần chuyển đổi chuỗi JSON thành từ điển Python
ghim nó
https. //sân mây. vào/2021/06/json-methods-load-vs-loads-and-dump-vs-dumps/#anNvbi5sb2Fkc18
Json. bãi rác[]. Được sử dụng để viết đối tượng Python i. e. dict vào tệp JSON
ghim nó
https. //sân mây. vào/2021/06/json-methods-load-vs-loads-and-dump-vs-dumps/#ZHVtcC12cy1kdW1
Ví dụ: bạn có dữ liệu trong một danh sách hoặc từ điển hoặc bất kỳ đối tượng Python nào và bạn muốn mã hóa và lưu trữ dữ liệu đó trong một tệp ở dạng JSON
ghim nó
https. //sân mây. vào/2021/06/json-methods-load-vs-loads-and-dump-vs-dumps/#anNvbi5kdW1wXy5
Json. bãi []. phương thức có thể chuyển đổi một đối tượng Python thành một chuỗi JSON
ghim nó
https. //sân mây. vào/2021/06/json-methods-load-vs-loads-and-dump-vs-dumps/#SnNvbi5kdW1wc18
Trường hợp sử dụng Lambda
Hàm AWS Lambda
ghim nó
https. //sân mây. vào/2021/06/json-methods-load-vs-loads-and-dump-vs-dumps/#TGFtYmRhLmpwZw=
Lambda
Lambda ở trên đã được thử nghiệm với Sự kiện thử nghiệm sau
{
"thân hình". "{\"dữ liệu\". [[\”trạm\”, \”https. //gbfs. citibikenyc. com/gbfs/en/station_information. json\”],[\”khu vực\”, \”https. //gbfs. citibikenyc. com/gbfs/en/system_regions. json\”]]}”
}
ghim nó
https. //sân mây. vào/2021/06/json-methods-load-vs-loads-and-dump-vs-dumps/#VGVzdC1FeGVjdXR
Kết quả thực hiện kiểm tra
Bây giờ hãy cố gắng hiểu với kết quả Thực hiện kiểm tra
Khối hàng. Như chúng ta đã quan sát, đầu vào của lambda [được chụp bởi body_event] là JSON sting và nó đã được chuyển đổi thành đối tượng PYTHON và được lưu trữ trong Tải trọng
sflkRowRef. Khi dữ liệu đã được chuyển đổi thành DICT, hãy tìm nạp các giá trị liên quan đến các khóa. Có hai khóa trong Từ điển và biến sflkRowRef lưu trữ các Khóa này [Trạm, khu vực]
URL. Trích xuất giá trị w. r. t chìa khóa tôi. e. nhà ga
json_obj = json. tải [httpData]. Nhận yêu cầu HTTP và lưu trữ nó trong từ điển Python hoặc bất kỳ đối tượng Python nào bằng json. tải []. Dưới đây là đầu ra của đối tượng json sau khi chuyển đổi sang Từ điển
ghim nó
https. //sân mây. vào/2021/06/json-methods-load-vs-loads-and-dump-vs-dumps/#anNvbi5sb2Fkc2h
json_tương thích_string_to_return = json. kết xuất [{“dữ liệu”. retVal[“dữ liệu”]}]
Sau khi hoàn thành phản hồi chuyển đổi lệnh python thành chuỗi được định dạng JSON sẽ được chuyển đến Bông tuyết