Quando si codifica solo / serializzare un paio di oggetti / array, direi che la differenza di velocità non sarà così importante: si genherally non percepirlo.
La differenza è che serializzare è fatto soprattutto per PHP; per esempio, informazioni sur le classi non si perdono con serialize, e può essere recuperato quando deserializzazione.
D'altra parte, JSON non è specifico per PHP, che significa che è un buon formato di interscambio - il suo uso primario di scambio di dati tra JavaScript e PHP.
Ad esempio, si consideri questo pezzo di codice:
class A {
public $a;
public function __construct($a) {
$this->a = $a;
}
}
$test = new A(10);
Ora, cerchiamo di serializzare e $ test unserialize:
var_dump(unserialize(serialize($test)));
Noi abbiamo :
object(A)[2]
public 'a' => int 10
Per esempio, un oggetto, un'istanza di classe A.
Ora, cerchiamo di fare lo stesso con JSON:
var_dump(json_decode(json_encode($test)));
Ora abbiamo solo un'istanza di stdClass:
object(stdClass)[2]
public 'a' => int 10
JSON è bello per lo scambio di dati (il nformazioni 'Classe A' è importante per PHP, ma probabilmente non ha molto senso per un'altra applicazione); ma ha i suoi limiti troppo.