Вы, кажется, делаете это:
- Считывание JSON из файла в виде строки
- Pickle-строка
- Отправка маринада на Java .
Это не сработает. Рассол имеет формат Python -specifi c. Java не понимает этого.
Данные, которые вы читаете из файла, уже сериализованы .... как JSON.
Решение: отправить строка, содержащая JSON без ее выборки.
С другой стороны, если Java сервер ожидает, что получит что-то, что было сериализовано с использованием ObjectOutputStream
, тогда у вас есть большая проблема. Java Протокол сериализации объекта - Java, специфицированный c. Python не поддерживает это. Но если вы на самом деле отправляете JSON на сервер, вам нужно это сделать. Измените сервер так, чтобы он принимал JSON, и избавьтесь от кода ObjectInputStream
/ ObjectOutputStream
с обеих сторон.
С третьей стороны, если вы не можете избавиться от ObjectInputStream
/ ObjectOutputStream
, тогда, возможно, вам нужно изменить сторону сервера, чтобы либо предоставить отдельный API для python для вызова, либо заставить сервер проверить заголовок «content-type» запроса и обработать любую форму данных сериализация (JSON и протокол сериализации объектов)