PHP 직렬화 ⇄ JSON 변환기
PHP serialize() 출력을 JSON으로, JSON을 다시 직렬화 문자열로 변환합니다 — PHP 세션·쿠키·캐시에 저장된 배열과 문자열을 확인하세요. 100% 브라우저에서 처리되며 업로드되지 않습니다.
{
"0": 42,
"이름": "김민준"
}🔒 브라우저에서 실행되며 업로드되지 않습니다.
PHP serialize() 출력을 JSON으로, 그리고 반대로
PHP serialize()의 출력을 붙여넣으면 깔끔하게 들여쓴 JSON이 나오고, 방향을 바꾸면 JSON을 PHP 직렬화 문자열로 되돌립니다. 파서는 PHP가 내보내는 모든 스칼라(N 널, b 불리언, i 정수, d 실수, s 문자열)와 임의 깊이로 중첩된 a 배열을 이해합니다. 키가 정확히 0,1,2…인 배열은 JSON 배열이 되고, 그 외의 배열은 JSON 객체가 됩니다. 다시 변환할 때 숫자처럼 보이는 객체 키는 PHP와 동일하게 정수 키로 다시 변환됩니다. 모든 처리는 브라우저에서 이뤄지므로 직렬화된 세션 데이터가 기기를 벗어나지 않습니다.
직렬화 데이터를 확인하는 이유
PHP는 디버깅하게 되는 여러 곳에 직렬화된 값을 저장합니다. $_SESSION 파일, 로그인 유지 쿠키와 프레임워크 쿠키, 워드프레스의 wp_options 테이블, 라라벨·심포니 캐시, 큐 작업 페이로드 등입니다. a:2:{s:4:"name";s:3:"Ada";i:0;i:42;} 같은 원본 문자열은 한눈에 읽기 어렵습니다. JSON으로 바꾸면 구조가 즉시 보이고, JSON을 되돌리면 직렬화 값을 직접 만들거나 수정할 수 있습니다. s:N:"…"의 길이는 바이트 단위이고 내용은 이스케이프되지 않으므로, 이 도구는 따옴표나 멀티바이트 UTF-8이 든 문자열도 정확히 읽습니다.
자주 묻는 질문
PHP serialize() 형식이 무엇인가요?
PHP가 값을 문자열로 저장할 때 쓰는 간결한 텍스트 형식입니다. 예: a:2:{s:4:"name";s:3:"Ada";i:0;i:42;}. 각 조각은 타입(문자열 s, 정수 i, 배열 a 등)과 길이·개수로 표시되어 unserialize()로 정확히 복원됩니다.
PHP 배열은 JSON으로 어떻게 변환되나요?
키가 0,1,2…로 연속된 배열은 JSON 배열이 되고, 그 외(문자열 키나 번호에 빈틈이 있는 경우)는 JSON 객체가 됩니다. 되돌릴 때 정수처럼 보이는 객체 키는 정수 배열 키로 변환되어 PHP 동작과 일치합니다.
데이터가 어딘가로 업로드되나요?
아니요. 파싱과 변환은 전적으로 브라우저에서 자바스크립트로 이뤄집니다. 붙여넣은 내용은 서버로 전송되지 않아 실제 세션·쿠키·캐시 데이터도 안전하게 확인할 수 있습니다.