Wpis z mikrobloga

@Pan_wons: Jak rozumiem, pytasz tak na prawdę o deserializację. Otóż serializując do JSONa tracisz informację o typach (klasa serializowanego obiektu oraz typy atrybutów). Także nie da się zrobić analogicznej deserializacji do pierwotnego obiektu używając json_decode(). Zawsze otrzymasz obiekt StdClass, lub tablicę. Musiałbyś kombinować ze specjalnym formatem jsona i potem ręcznie odtwarzać obiekt. Czyli w sumie robisz zwykłą serializację, i to że format zserializowany będzie JSONem nie ma znaczenia.

Lepiej byłoby
@JamesBlond: a JsonSerializable można zastąpić po prostu jakąkolwiek metodą bo to tylko interfejs. ;-)

Ale raczej nie o to chodzi. Interfejs JsonSerializable implementujesz, aby PHP go użył w metodzie json_encode, idąc dalej oczekiwalibyśmy, że i w drugą stronę damy radę przy użyciu json_decode. Jeśli z kolei nie użyjemy json_encode/json_decode (bo ta druga funkcja nie zwróci nam naszego obiektu), to ten interfejs jest nam niepotrzebny.