Όταν κωδικοποιήσει μόνο / συνέχειες ένα ζευγάρι των αντικειμένων / σειρά, θα έλεγα ότι η διαφορά στην ταχύτητα δεν θα είναι τόσο σημαντικό: θα genherally δεν θα το αντιληφθεί.
Η διαφορά είναι ότι serialize γίνεται ειδικά για την PHP? για παράδειγμα, πληροφορίες sur όπως τάξεις δεν χάνονται με serialize, και μπορούν να ανακτηθούν όταν unserializing.
Από την άλλη πλευρά, JSON δεν είναι ειδικά για την PHP, το οποίο σημαίνει ότι είναι μια καλή μορφή ανταλλαγής - κύρια χρήση της είναι για την ανταλλαγή δεδομένων μεταξύ Javascript και PHP.
Για παράδειγμα, σκεφτείτε αυτό το κομμάτι του κώδικα:
class A {
public $a;
public function __construct($a) {
$this->a = $a;
}
}
$test = new A(10);
Τώρα, ας συνέχειες και unserialize τεστ $:
var_dump(unserialize(serialize($test)));
Παίρνουμε :
object(A)[2]
public 'a' => int 10
δηλαδή, ένα αντικείμενο, παράδειγμα της τάξης Α
Τώρα, ας κάνουμε το ίδιο με JSON:
var_dump(json_decode(json_encode($test)));
Τώρα έχουμε μόνο ένα παράδειγμα των stdClass:
object(stdClass)[2]
public 'a' => int 10
JSON είναι ωραίο να ανταλλάσσουν δεδομένα (το «Α» κατηγορίας Πληροφόρηση είναι σημαντικό για την PHP, αλλά μάλλον δεν έχει και πολύ νόημα για μια άλλη εφαρμογή)? αλλά έχει τα όριά της πάρα πολύ.