반응형
여승철
INTP 개발자
여승철
  • 분류 전체보기 (376)
    • CS (16)
      • 면접 준비 (7)
      • 운영체제 (0)
      • 네트워크 (2)
      • HTTP (6)
      • 스프링(Spring) IoC 컨테이너 (0)
      • 알고리즘 (1)
    • Web (13)
    • AWS (6)
    • Java (43)
    • JSP & Servlet (65)
      • 개념 (42)
      • 실습 (23)
    • Spring Framework (33)
    • Spring Boot (10)
    • Spring Data (22)
      • JPA (14)
      • Query DSL (7)
      • Redis (1)
    • Spring Security (9)
    • Spring Batch (4)
    • MyBatis (10)
    • Front-End (51)
      • JS (27)
      • Vue.js (17)
      • React (5)
      • JQuery (0)
      • d3.js (2)
    • DBMS (24)
      • SQL, RDBMS (16)
      • MongoDB (5)
      • Redis (3)
    • Kafka (3)
    • 리눅스 (Linux) (4)
    • 디자인 패턴 (3)
    • VCS (8)
    • API (0)
    • TOOL (3)
    • Reading Book (28)
      • 이펙티브 자바 (11)
      • Clean Code (10)
      • 1분 설명력 (4)
      • HOW TO 맥킨지 문제해결의 기술 (3)
    • C# (4)
    • NSIS (6)
    • ETC (11)

블로그 메뉴

  • 홈
  • 태그

인기 글

태그

  • 스트림
  • HTTP
  • querydsl
  • 환경 세팅
  • EC2
  • 게시판
  • ubuntu
  • controller
  • servlet
  • JDBC
  • 이펙티브 자바
  • 로그인
  • mybatis
  • 디자인 패턴
  • JSTL
  • Dao
  • 맥킨지
  • jsp
  • 회원 관리
  • Spring Batch

최근 댓글

최근 글

hELLO· Designed By 정상우.
여승철

INTP 개발자

JS JSON: JavaScript Object Notion
Front-End/JS

JS JSON: JavaScript Object Notion

2023. 5. 2. 11:41
반응형

JSON: JavaScript Object Notion

  • JavaScript 객체 표기법으로 작성된 텍스트 기반의 방식입니다.
  • JSON은 쉽게 읽고 작성할 수 있고, 소프트웨어에서 파싱 및 생성하기도 쉽습니다.
  • 때문에 주로 컴퓨터간 데이터 교환 형식으로 쓰입니다.

 

JSON 표기법

  • {}로 데이터를 묶고 key: value로 구성
  • 데이터는 ,로 구분합니다.
  • {중괄호}는 객체를 구성
  • [대괄호]는 배열을 구성
// 예제 1
'{"name":"kim", "age":25, "address":null}'

// 예제 2
{
	"students":[
    	{"name":"kim", "age":25},
        {"name":"lee", "age":30},
        {"name":"choo", "age":18}
    ]
}

 

JSON ↔ JS 객체 파싱

  • JSON.parse() - JSON 문자열을 객체로
  • JSON.stringify() - 객체를 JSON 문자열로
// JSON 문자열 -> 객체
const jsonStr = '{"name":"kim", "age":25, "city":"Seoul"}'
const obj = JSON.parse(jsonStr);
console.log(obj.name + " " + obj.age + " " + obj.city);

// JSON 문자열 -> 객체, 배열
const jsonArr = '["Apple", "Banana", "Orange"]';
const arr = JSON.parse(jsonArr);
console.log(arr[0]);             // Apple



// 객체 -> JSON 문자열
const obj = {name: "kim", age: 25, address: "Seoul"};
const jsonStr = JSON.stringify(obj)
console.log(jsonStr);

 

 

JSON → 객체 시 값 변환 ( 예제: 날짜)

JSON에서 허용하지 않는 타입인 경우 JSON에서 문자열로 저장해놓고 이를 객체로 변환할 때 따로 문자열도 변환해주어야 합니다.

const jsonStr = '{"name":"kim", "birth":"2000-12-12", "city":"Seoul"}';


// 예제 1
const obj = JSON.parse(jsonStr);
obj.birth = new Date(obj.birth);

// 예제 2: JSON.parse() 두 번째 매개 변수 활용
const obj = JSON.parse(jsonStr, function (key, value) {
	if (key == "birth") {
    	return new Date(value);
    } else {
    	return value;
    }
});

 

반응형

'Front-End > JS' 카테고리의 다른 글

JS Fetch API를 이용한 Ajax 통신  (0) 2023.05.02
JS AJAX ( Asynchronous JavaScript And XML )  (0) 2023.05.02
JS JQuery ( + JQuery 사용 방법 )  (0) 2023.05.01
JS Web API ( storage, fetch, geolocation )  (0) 2023.04.28
JS BOM( Browser Object Model ): 브라우저 객체 모델  (0) 2023.04.28
    여승철
    여승철

    티스토리툴바