Общий сериализатор для php и java Object - PullRequest
0 голосов
/ 21 декабря 2010

Я хотел бы сериализовать объект из Java и десериализовать этот объект в PhP.Я видел разные классы в Java, которые делают это, но они не могут сериализовать не примитивный объект.

Кстати, вы знаете, где я могу прочитать подробности языка, сгенерированного функцией 'serialize' изphp?

Большое спасибо

Bat

Ответы [ 2 ]

1 голос
/ 21 декабря 2010

При десериализации объекта в PHP, PHP должен иметь определение класса этого объекта . Я сомневаюсь, что вы очень далеко продвинетесь, если исходный класс будет Java-классом.

Я бы посоветовал вам перейти на нейтральный для языка формат инкапсуляции данных, такой как JSON. Это может быть json_decoded в объекте stdClass.

0 голосов
/ 21 декабря 2010

Вам нужно, чтобы сериализация Java создала сериализованную форму, понятную PHP. Это можно сделать, создав метод со следующей подписью:

private void writeObject(OutputStream out)

в классе Java. Это можно использовать для настройки сериализованной формы объекта. Прочтите этот отрывок из превосходной книги Джошуа Блоха «Эффективная Java», в которой объясняется, как это сделать (вам нужно подписаться или получить бесплатную пробную версию, чтобы прочитать ссылку, но я рекомендую это)

http://my.safaribooksonline.com/book/programming/java/9780137150021/serialization/ch11lev1sec2

К сожалению, не будучи разработчиком PHP, я не могу комментировать слишком много о том, какой должна быть форма. Надеюсь, кто-то еще может помочь вам с этим.

...