Tôi đang viết một kịch bản để tự động tạo dữ liệu cho bản trình diễn và tôi cần phải tuần tự hóa trong một số dữ liệu JSON. Một phần của dữ liệu này là một hình ảnh, vì vậy tôi mã hóa nó trong base64, nhưng khi tôi cố gắng chạy kịch bản của tôi, tôi nhận được:Tuần tự hóa trong JSON một dữ liệu được mã hóa base64
Traceback (most recent call last):
File "lazyAutomationScript.py", line 113, in <module>
json.dump(out_dict, outfile)
File "/usr/lib/python3.4/json/__init__.py", line 178, in dump
for chunk in iterable:
File "/usr/lib/python3.4/json/encoder.py", line 422, in _iterencode
yield from _iterencode_dict(o, _current_indent_level)
File "/usr/lib/python3.4/json/encoder.py", line 396, in _iterencode_dict
yield from chunks
File "/usr/lib/python3.4/json/encoder.py", line 396, in _iterencode_dict
yield from chunks
File "/usr/lib/python3.4/json/encoder.py", line 429, in _iterencode
o = _default(o)
File "/usr/lib/python3.4/json/encoder.py", line 173, in default
raise TypeError(repr(o) + " is not JSON serializable")
TypeError: b'iVBORw0KGgoAAAANSUhEUgAADWcAABRACAYAAABf7ZytAAAABGdB...
...
BF2jhLaJNmRwAAAAAElFTkSuQmCC' is not JSON serializable
Theo như tôi biết, một bất cứ điều gì base64 mã hóa (một hình ảnh PNG, trong trường hợp này) chỉ là một chuỗi, do đó, nó nên đặt ra vấn đề để serializating. Tôi đang thiếu gì?
Tôi đã có một vấn đề tương tự khi tôi còn sử dụng Gmail API để gửi email với hành động cụ thể này 'trở lại { 'thô': base64.urlsafe_b64encode (message.as_string())} '. @spky Cảm ơn câu trả lời của bạn! – InamTaj
Tôi đang làm tương tự cho tệp excel, mọi thứ đang diễn ra chính xác nhưng tệp được ghi vào đĩa bị hỏng, không thể mở được bình thường –