| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 아이콘사용법
- googleicon
- react npm install
- 그누보드반응형
- 동적객체
- 의존성문제
- 플러그인
- window 정책변경
- maxwidth
- MediaQuery
- npm start
- 글자들여쓰기
- owlcarousel
- legacy-peer
- XEIcon
- fontawesome
- 단어단위로떨어지기
- node 오류
- Git clone
- 웹아이콘
- minwidth
- vscode git clone
- package.json
- npm install 문제
- git lab clone
- 정적객체
- slickslider
- npm install
- node설치
- 이미지반응형
- Today
- Total
어쩌다 알게 된 ƪ(•̃͡•̃͡ ƪ
통신 JSON 본문
통신
📌 ** JSON (JavaScript Object Notation) 이란?
- 자바스크립트의 객체 리터럴 표기법에서 영감을 받아 개발된 데이터 표현 및 교환 포맷
- 데어터를 표현하고 교환하기 위해 사용되는 텍스트 기반 포맷
- 사람이 읽기 쉽고 기계가 처리하기 쉬운 데이터 구조를 표현
역사
- 1990년대 후반과 2000년대 초반, 데이터 교환 포맷으로 XML이 널리 사용
- XML의 단점으로 인한 대안이 필요
XML의 단점
- 데이터 표현을 위해 많은 태그를 사용해야 하며, 읽고 쓰기가 번거로움
- 데이터의 크기가 크고 처리 속도가 느림
- 사람이 읽기 어렵고 직관적이지 않음
- 더글라스 크록포드는 자바스크립트의 객체 리터럴 표기법에서 영감을 받아, 간단하고 직관적인 데이터 표현방식으로 JSON을 설계
- 2001년 경, JSON이라는 이름과 포맷을 공식적으로 제안
- 2002년 경, JSON의 주요 형식과 규칙을 문서화하며, "JSON.org"라는 웹사이트에서 공식적으로 소개
- 2005년 Ajax(비동기방식) 기술이 확산되면서 JSON이 XML을 대체할 데이터 포맷으로 주목을 받음
- 2005년 구글과 야후와 같은 대형 IT 기업에서 JSON을 채택하며, JSON이 대중화 되기 시작
- 2013년 국제 표준으로 채택
JSON의 설계 철학
- 사람도 쉽게 읽고 쓸 수 있는 데이터 포맷
- 자바스크립트의 객체 리터럴 문법과 유사하게 유지
- 자바스크립트에서 비롯되었지만, 다른 프로그래밍 언어에서도 쉽게 사용할 수 있도록 설계
- JSON은 객체, 배열, 문자열, 숫자, 불리언, null을 사용해 데이터를 간결하게 표현
JSON의 한계
- JSON은 텍스트 기반이므로, 이진 데이터 전송에는 부적합(XML도 마찬가지)
- JSON은 데이터를 표현하기 위한 포맷으로 설계되었기 때문에, 메서드나 심볼과 ㅗ같은 자바스크립트의 동적 요소를 포함할 수 없음
- JSON 데이터 형식이 잘못되면, 전체 데이터가 파싱되지 않는 문제가 발생
JSON의 자바스크립트 사용 메서드
1. JSON.parse()
- JSON 문자열을 자바스크립트 객체로 변환
- 서버에서 받은 JSON 데이터를 자바스크립트에서 처리
{ // 객체 리터럴과 다른 점: 왼쪽 key도 따옴표로 감싸 주어야 함
"name": "홍길동",
"age": 30,
"isStudent": false,
}
; json 문법 맞는지 정리해주는 사이트
// json pretty parser
https://jsonformatter.org/json-pretty-print
const jsonString = '{"name": "홍길동","age": 30,"isStudent": false,}';
const obj = JSON.parse(jsonString);
console.log(obj.name);
console.log(obj.age);
console.log(obj.isStudent);
'자바스크립트 > ⚪️ Vanilla' 카테고리의 다른 글
| ⚪️ [ JS ] 함수, 메서드, 생성자 차이 (0) | 2025.03.10 |
|---|---|
| Math. ~(), 랜덤함수 예제 (0) | 2025.02.26 |
| 정규표현식 (0) | 2025.02.26 |
| 자바스크립트 생명주기 (0) | 2025.02.25 |
| 이벤트 핸들러 (0) | 2025.01.18 |