JSON Validator & Formatter

실시간 오류 검사로 JSON 검증 및 포맷팅

JSON 입력

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

JSON의 역사

JSON (JavaScript Object Notation)은 2000년대 초반 Douglas Crockford에 의해 처음 명세되었습니다. 이 형식은 JavaScript의 객체 리터럴 표기법의 부분집합을 기반으로 했지만, 언어 독립적인 데이터 형식으로서의 유용성으로 인해 널리 채택되었습니다. 첫 JSON 메시지는 2001년 4월에 전송되었습니다. 이후 JSON은 단순성과 사용 용이성으로 인해 많은 애플리케이션에서 XML을 대체하며 웹 API의 사실상 표준이 되었습니다.

JSON이란?

JSON은 완전히 언어 독립적인 경량의 텍스트 기반 데이터 교환 형식입니다. JavaScript에서 파생되었지만, 현재는 사실상 모든 프로그래밍 언어에서 사용됩니다. 키-값 쌍과 정렬된 목록을 통해 데이터를 표현하여 사람이 읽기 쉽고 기계가 분석하기 쉽습니다.

JSON을 사용하는 이유

  • 언어 독립성: 모든 프로그래밍 언어에서 사용 가능
  • 자기 서술적: 데이터 구조가 명확하고 읽기 쉬움
  • 경량: 데이터 전송 시 최소한의 오버헤드
  • 빠름: 구문 분석과 생성이 쉬움
  • 광범위한 지원: 대부분의 현대 언어에 내장 지원
  • 웹 친화적: 브라우저 네이티브 지원
  • 스키마 지원: JSON Schema로 검증 가능
  • 중첩 구조: 복잡한 데이터 계층 지원

JSON 구문

JSON 구문은 JavaScript 객체 표기법에서 파생되었지만, 특정 규칙과 제한이 있습니다.

기본 구조

  • 객체: 키-값 쌍의 순서 없는 집합
  • 배열: 값의 순서가 있는 목록

지원되는 데이터 타입

  • 문자열: 큰따옴표로 둘러싸인 유니코드 텍스트
  • 숫자: 정수 또는 부동소수점
  • 불리언: true 또는 false
  • null: 값이 없음을 표현
  • 객체: 키-값 쌍의 집합
  • 배열: 값의 순서가 있는 목록

프로그래밍 언어의 JSON 지원

언어구문 분석 메서드문자열화 메서드
JavaScriptJSON.parse()JSON.stringify()
Pythonjson.loads()json.dumps()
JavaObjectMapper.readValue()ObjectMapper.writeValueAsString()
C#JsonSerializer.Deserialize()JsonSerializer.Serialize()
Gojson.Unmarshal()json.Marshal()
PHPjson_decode()json_encode()
RubyJSON.parse()JSON.generate()
Rustserde_json::from_str()serde_json::to_string()
SwiftJSONDecoder().decode()JSONEncoder().encode()
KotlinJson.decodeFromString()Json.encodeToString()