Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 2638번 치즈
- 힙 자바스크립트
- dfs
- 2275번
- JavaScript
- 백준 1068
- level0
- 13023번 ABCDE
- 1303번
- 백준 2638번
- 24480번
- 부녀회장이 될 테야
- 1937번 욕심쟁이 판다
- 우선순위 큐 자바스크립트
- 백준 13023번
- 백준 1068번 트리
- 백준
- 1389번 케빈 베이컨의 6단계 법칙
- ssh
- React
- 기지국 설치 자바스크립트
- 프로그래머스
- 기지국 설치 js
- 알고리즘 수업-깊이 우선 탐색1
- Redux
- Java
- level1
- 리덕스
- 자바스크립트
- 알고리즘
Archives
- Today
- Total
코딩왕랄프👊🏻
[JSON] JSON 정리 본문
반응형
SMALL
JSON?
JavaScript Object Notation
좀 더 쉽게 데이터 교환, 저장 위해 만들어진 텍스트 기반 데이터 교환 방식
JavaScript에서 객체 만들때 사용하는 표현식
특정 언어에 종속 X
문자열 전송 받은 후 바로 parsing => 빠른 처리 속도
{
"name": "식빵",
"family": "웰시코기",
"age": 1,
"weight": 2.14
}
XML?
Extensible Markup Language
데이터 저장, 전달
XML DOM(Document Object Model) 이용해 해당 문서에 접근
<dog>
<name>식빵</name>
<family>웰시코기<family>
<age>1</age>
<weight>2.14</weight>
</dog>
JSON 문법
- Javascript의 객체 표기법에서 Literal과 Property를 표현하는 방법만 사용
Literal
=> 값 자체
Object
=> name, value로 구성된 property의 정렬되지 않은 집합
JSON 구조
JSON Data
=> number, string, boolean, object, array, NULL
JSON Object
=> { name1 : value1, name2 : value2}
{ "name": "식빵", "family": "웰시코기", "age": 1, "weight": 2.14 }
JSON Array
=> ArrayName : [ { name1 : value1, name2 : value2 } , { name3 : value3 }, { name4 : value4} ]
"dog": [ {"name": "식빵", "family": "웰시코기", "age": 1, "weight": 2.14}, {"name": "콩콩", "family": "포메라니안", "age": 3, "weight": 2.5}, {"name": "젤리", "family": "푸들", "age": 7, "weight": 3.1} ]
JSON 타입
String
=> 큰 따옴표만 사용 가능
=> Escape Sequence
\b 백스페이스 \f 폼 피드(form feed) \n 개행 \r 캐리지 리턴(carriage return) \t 탭(tab) \" 큰따옴표 \/ 슬래시 \\ 역슬래시 \uHHHH 16진수 네 자리로 표현된 유니코드 문자
Array
=> [] 로 표현
=> 배열/객체 차이점 : 배열은 Data 값의 집합, 객체는 Property의 집합
JSON 스키마
- 적법한 JSON 데이터의 형식을 기술한 문서
스키마 Validation
=> 데이터 타입 정확? 필수 데이터 포함 ? 데이터가 원하는 범위 내에?
=> Validation keywords
type | 유효한 데이터의 타입을 명시함. |
properties | 유효한 데이터 이름과 값의 쌍들을 명시함. |
required | 명시한 배열의 모든 요소를 프로퍼티로 가지고 있어야만 유효함. |
minimum | 최솟값 이상의 숫자만 유효함. |
maximum | 최댓값 이하의 숫자만 유효함. |
multipleOf | 명시한 숫자의 배수만 유효함. |
maxLength | 명시한 최대 길이 이하의 문자열만 유효함. |
minLength | 명시한 최소 길이 이상의 문자열만 유효함. |
pattern | 명시한 정규 표현식에 해당하는 문자열만 유효함. |
{
"title": "강아지 스키마",
"description": "이 스키마는 강아지에 관한 데이터를 검증하기 위해 작성된 스키마임.",
"type": "object",
"properties": {
"name": {"type": "string"},
"family": {"type": "string"},
"age": {"type": "integer"},
"weight": {"type": "number"},
"owner": {
"type": "object",
"properties": {
"ownerName": {"type": "string"},
"phone": {"type": "string"}
}
}
}
}
숫자 검증
=> 정수 : "integer", 숫자 : "number", 배수 : "multipleOf"
=> 범위 :{ "type": "number", "minimum": 1, "maximum": 10, "exclusiveMaximum": true }
반응형
LIST