我有一堆對象,我需要能夠序列化在JSON,PHP,whatnot。我有東西,如JSONSerializer,並明確有serialize()可用。現在我仍然需要的是特定於對象的邏輯來將對象轉換爲可以饋送給JSONSerializer或serialize()的東西。基本上是一個原始類型或只包含匹配這個條件的元素的數組。非序列化:命名和實現
兩個問題:
你怎麼稱呼串行化之前這一步呢? 「arrayification」?我正在考慮給我的對象一個toArray()方法。我也希望他們實現一些指定此方法的接口?任何人更好的主意,然後「Arrayable」?
如何才能最好地瞭解反序列化?我可以在每個對象中都有一個靜態的newFromArray方法。儘管不喜歡靜態代碼。對工廠的任何意見都可以從他們的「陣列化」中構建給定類型的對象?
注意:這需要使用PHP 5.3。
你可能想看看這個:https://github.com/sebastianbergmann/pson 使用這個,你可以將php對象轉換爲json並返回。它是由Sebastian Bergman寫的,他寫了PHPUnit – MarcDefiant 2013-02-13 12:26:36
的同一個人謝謝,這很有趣。即使對於這個項目,我也不能使用PHP 5.4。 – 2013-02-13 12:29:31
我其實不喜歡在PSON中採用的方法。序列化不需要包含任何類名或非公共狀態。此外,我想自己指定所有的密鑰,因爲這些密鑰也應該獨立於字段名稱。 – 2013-02-13 12:35:10