always-prog
@always-prog
Я программист. Python, JavaScript, Django.

Как записать .mp3 в JSON?

Привет.
Пишу на python, использую стандартную библиотеку JSON.
Мне нужно записать файл .mp3 в JSON, но проблема в том что когда я пытаюсь вызватьjson.dumps(), и подать в него такой dict:
{"file":b"My audio file in bytes"}
Мне выдает ошибку что нельзя записать байты.
Как мне записать .mp3 (Т.Е. байтовое значение) в JSON?
  • Вопрос задан
  • 1351 просмотр
Решения вопроса 2
Aetae
@Aetae
Тлен
Во-первых: не надо так делать.
Во-вторых: кодируйте в base64(или аналоги), json - текстовый формат и raw данные туда пихать нельзя.
Ответ написан
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Хранить mp3 вполне логично в файлах в каталоге проекта.
Если вы по какой-то причине не хотите хранить их россыпью в файловой системе, то можно собрать их в zip-файл без сжатия или в tar-архив. С ними можно работать не распаковывая, открыать и читать файлы внутри.
Ещё есть встроенный модуль shelve - это персистентный key-value storage, который держит свои ключи и значения в одном файле. Доступны чтение и запись бинарных данных по ключу.
Base64 приведёт к тому что объём данных увеличится примерно на четверть (на 25 процентов). Сериализация и десериализация больших файлов в текстовый json будет медленным и неэффективным.

Опишите шире вашу задачу и вам предложат типовое ее решение.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
kocherman
@kocherman
Можно сконвертировать например в Base64Uri, например, тут https://base64.guru/converter/encode/file
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы