JSON을 GET 파라미터로

로컬 처리
app.querystring.view

다음으로도 #data={"name":"Ada"} 또는 #url=... 데이터를 넣을 수 있으며, 읽은 뒤 주소 표시줄에서 지워집니다.

사용 방법

객체와 URL 쿼리 문자열을 서로 변환합니다. GET 요청을 만들거나 주소 표시줄 파라미터를 JSON으로 되돌릴 때, & 와 인코딩을 손으로 세지 않아도 됩니다. 중첩 객체는 괄호가 있는 키 이름으로 되도록 펼칩니다.

JSON → query

중첩 구조는 되도록 a[b]=c 또는 비슷한 키 이름으로 펼칩니다. 배열에도 인덱스가 붙어 백엔드 바인딩 방식과 대조하기 쉽습니다.

한글과 공백은 URL 인코딩으로 처리됩니다.

query → JSON

다음과 같은 page=1&q=json 객체로 되돌립니다. 브라우저 주소 표시줄이나 패킷에서 query를 복사하면 됩니다.

중복 키 처리는 이 페이지의 파싱을 따르며, 복잡한 반복 파라미터는 뽑아 확인하세요.

로컬에서 완료

전체 URL을 우리 쪽으로 보내지 않습니다. 내부망 API 파라미터 디버깅에도 쓸 수 있습니다.

요청 본문이 JSON인 POST는 이 페이지를 쓰지 말고 바로 포맷하면 됩니다.

예시

JSON
{"page":1,"q":"json","tags":["a","b"]}
쿼리 문자열(예시)
page=1&q=json&tags=a&tags=b
공백과 한글은요?

URL 인코딩 규칙을 따릅니다. 브라우저 주소 표시줄에 다시 붙이기 전에 서버 디코딩 방식이 같은지 확인하세요.

POST JSON에도 이것을 써야 하나요?

요청 본문이 JSON이면 포맷이면 충분하고, 이 페이지는 query string용입니다.

PHP / Rails 스타일의 괄호 키?

중첩 객체로 되도록 펼칩니다. 백엔드 프레임워크 약속이 다르면 문서에 맞춰 미세 조정하세요.

해시(#) 뒤의 파라미터는요?

이 페이지는 ? 뒤의 query를 처리합니다. 싱글 페이지 앱이 상태를 hash에 두면 query 부분만 복사하세요.

권장 워크플로

  1. JSON → GET 또는 GET → JSON을 고르세요.
  2. 객체 또는 쿼리 문자열을 붙여넣고 변환 결과를 보세요.
  3. query를 API URL에 붙여 요청해 보거나, JSON을 테스트 케이스에 다시 붙이세요.
  4. 인코딩이 달라 깨지면 서버의 decodeURIComponent / 프레임워크 바인딩과 대조하세요.

GET에는 길이 제한이 있습니다. 파라미터가 많거나 긴 JSON이 있으면 POST Body로 보내고, query에 전부 넣지 마세요.