Query String JSON 변환 url
URL 쿼리스트링을 JSON 객체로, JSON 객체를 쿼리스트링으로 변환합니다.
이 도구가 하는 일
쿼리스트링은 URL의 ? 뒤에 오는 key=value 형태의 문자열이며 & 로 여러 값을 이어 붙입니다. 브라우저 주소창, API 요청, 로그, 리다이렉트 주소에서 늘 마주치는 형식이지만 파라미터가 열 개를 넘어가면 눈으로 구조를 파악하기 어렵습니다.
이 도구는 쿼리스트링을 JSON 객체로 바꿔 각 키와 값을 한눈에 볼 수 있게 만들고, 반대로 JSON을 쿼리스트링으로 조립하기도 합니다. 값에 포함된 percent-encoding은 변환 과정에서 함께 처리되므로 인코딩된 한글이나 특수문자도 읽을 수 있는 형태로 보입니다.
같은 키가 여러 번 나오는 경우에는 배열로 표현합니다. tags=a&tags=b 는 tags 키에 두 값이 담긴 배열이 됩니다. 이런 반복 키는 검색 필터나 다중 선택 UI에서 흔히 사용됩니다.
언제 사용하나요
광고 링크나 추적 파라미터가 잔뜩 붙은 URL을 분석할 때, API 문서의 예시 요청을 코드에 넣을 JSON으로 옮길 때, 테스트 케이스마다 파라미터를 바꿔가며 URL을 만들 때, 리다이렉트 주소에 담긴 값을 확인할 때 사용합니다.
입력과 출력 예시
name=alice&role=admin&page=2
{"name":"alice","role":"admin","page":"2"}
숫자처럼 보이는 값도 쿼리스트링에서는 문자열로 취급됩니다.
tags=a&tags=b&q=%ED%95%9C%EA%B8%80
{"tags":["a","b"],"q":"한글"}
반복되는 키는 배열이 되고, 인코딩된 값은 원래 문자로 복원됩니다.
주의사항
쿼리스트링에는 타입 정보가 없습니다. 모든 값이 문자열이므로 숫자 1과 문자열 "1", true와 "true"를 구분할 수 없습니다. JSON으로 변환한 결과를 그대로 API 본문에 사용할 때는 타입을 직접 맞춰야 합니다. 또한 서버마다 반복 키를 처리하는 방식이 달라, PHP는 tags[] 형태를 요구하고 다른 프레임워크는 tags 반복을 그대로 배열로 받는 등 차이가 있습니다.
자주 묻는 질문
숫자가 문자열로 변환됩니다.
쿼리스트링에는 타입 개념이 없어 모든 값이 문자열입니다. 정상 동작이며, 필요하면 변환 후 직접 타입을 조정해야 합니다.
같은 키가 여러 번 있으면 어떻게 되나요?
배열로 묶입니다. 다만 서버가 이 형식을 어떻게 해석하는지는 프레임워크마다 다르므로 대상 API 규칙을 확인하십시오.