본문으로 건너뛰기
yutils
예시

입력 (JS 객체 리터럴)

{
  // comments OK
  id: 1,
  name: 'Alice',
  active: true,
  tags: ['admin', 'user',],
}

출력 (표준 JSON)

{
  "id": 1,
  "name": "Alice",
  "active": true,
  "tags": [
    "admin",
    "user"
  ]
}

참고

주석 제거 · 작은따옴표 → 큰따옴표 · 따옴표 없는 키에 따옴표 추가 · trailing comma 제거 4단계. eval / new Function 사용 안 함 — 안전.

사용법 / 자주 묻는 질문

이런 경우 사용하세요

  • JS 코드에서 복사한 객체 리터럴 → API 호출용 JSON 변환
  • JSON5 / JSONC 형식의 설정 파일을 표준 JSON 으로 정리
  • 콘솔 디버깅 출력(`console.log` 결과) → 표준 JSON
  • Postman / Insomnia 같은 API 도구의 입력으로 가공
  • 주석 / trailing comma 가 섞인 느슨한 JSON 정리

자주 묻는 질문

Q.`eval` 을 사용하나요?
A.아닙니다 — 보안상 절대 사용하지 않습니다. 자체 토큰 스캐너로 주석 제거 · 따옴표 변환 · 키 따옴표 추가 · trailing comma 제거 후 표준 JSON.parse 검증.
Q.함수 값이나 정규식 리터럴은?
A.지원하지 않습니다 — JSON 스펙에 없는 표현이라 파싱 에러. 입력에서 함수·정규식·undefined 제거 후 다시 시도하세요.
Q.JSON5 와 차이는?
A.JSON5 는 unquoted key·trailing comma 등을 정식 표준화한 superset. 본 도구는 JSON5 호환 입력을 받아 표준 JSON 출력 — JSON5 라이브러리 의존 없이 자체 변환.
재미있는 사실
  • JSON 은 Douglas Crockford 가 2001 년 정의했습니다 — 웹 API 가 XML 보다 가볍게 데이터를 주고받기 위해 출발. ECMA-404 로 표준화된 2013 년 사양은 한 페이지로 끝날 만큼 단순합니다.

    JSON.org
  • JSON 은 JavaScript object literal 의 strict 한 부분집합입니다 — 키는 반드시 큰따옴표, trailing comma 금지, 주석 없음, function value 없음. JS 객체를 JSON 으로 옮길 때 가장 흔한 두 실수: 끝에 콤마 + 키 따옴표 빠짐.

    RFC 8259 — JSON
  • JSON5 (Aseem Kishore, 2012) 는 JSON 의 ergonomics 개선판 — 주석, trailing comma, single quote, unquoted key 모두 허용. 표준은 아니지만 VS Code 의 `settings.json` 과 npm 의 `package.json` 일부 사용 패턴에서 친숙합니다.

    JSON5