Когда вы только кодировать / сериализации несколько объектов / массива, я бы сказал, что разница в скорости будет не так важно: вы genherally не будет воспринимать его.
Разница заключается в том, что сериализации сделана специально для PHP; например, информация Сюр как классы не теряются при сериализации, и могут быть получены при десериализации.
С другой стороны, JSON не является специфическим для PHP, что означает, что это хороший формат обмена - его основное назначение в том, чтобы обмениваться данными между Javascript и PHP.
Например, рассмотрим следующий фрагмент кода:
class A {
public $a;
public function __construct($a) {
$this->a = $a;
}
}
$test = new A(10);
Теперь, давайте сериализации и десериализации $ тест:
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, но, вероятно, не имеет большого смысла для другого приложения); но имеет свои ограничения тоже.