두 개의 오브젝트/배열 만 인코딩/직렬화 할 때 속도의 차이는 중요하지 않을 것이라고 말하고 싶습니다. 실제로는 지각하지 못할 것입니다.
차이점은 serialize가 특히 PHP에서 이루어진다는 점입니다. 예를 들어 클래스는 serialize를 통해 손실되지 않으므로 정보 처리가 가능하며 직렬화를 취소 할 때 검색 할 수 있습니다.
반면에 JSON은 PHP와 관련이 없으므로 좋은 교환 형식이며 자바 스크립트와 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
즉, 객체, 클래스 A의 인스턴스이제
, 이제 JSON과 동일한 기능을 수행 할 수 있습니다 :
var_dump(json_decode(json_encode($test)));
우리는 이제 stdClass의 인스턴스를 가지고 :
object(stdClass)[2]
public 'a' => int 10
JSON 데이터합니다 ('클래스 A'를 교환하는 좋은 nformation은 PHP에서는 중요하지만 다른 응용 프로그램에는별로 도움이되지 않습니다.) 그러나 그것의 한계도있다.
복제본은 http://stackoverflow.com/questions/804045/preferred-method-to-store-php-arrays-json-encode-vs-serialize –