API, JSON

2024. 3. 29. 13:03·개념정리

API ( Application Programming Interface ) : 응용 프로그래밍 인터페이스

API는 웹기반 데이터 반환 시스템이며

데이터베이스나 서버로 쉽게 접근 할수 있도록 수 많은 함수들을 관리 하는 코드이다.

 

API를 왜 사용하는가?

API를 사용하여 개발자가 공공 데이터 및 오픈 데이터를 활용한다는 개념은 익히 들어왔다. 

 

예시) KAKAO, FACEBOOK 로그인

KAKAO, FACEBOOK 등 공공데이터에 이미 저장 되어있는 가입자의 고유 정보들을

KAKAO나 FACEBOOK에 직접 접속하지 않고도 외부로 정보 접근이 가능하도록

API형태로 개발 하여 배포를 하기 때문에 활용 할 수 있는 것이다.

>> 요청하는 서버 데이터를 API 함수 호출을 통해서 전달 받은 후 신규 서비스에 적용하여 편리하게 사용한다.

>> 웹서비스 개발 시에도 BE 개발자가 서버구축 및 API 개발을 완성하면 FE 개발 인력이 정해진 API 함수를 통해 원하는 데이터를 쉽게 호출하여 사용 할 수 있다.

 

그렇다면 JSON이란 무엇이고 왜 사용하는가?

JSON ( JavaScript Object Notation ) : 자바스크립트 객체 표기법(표현)

프로그래밍 언어도 아니고 문법도 아니고 단지 하나의 데이터 저장 방식이다 >> 그러나 JSON 규칙은 있다.

JSON은 "속성 : 값" 또는 "key : value"의 쌍으로 이루어진 데이터 객체를 전달하기 위해 만들어진 포맷이다.

 

흔히 개발된 API를 JSON 형식으로 호출하여 파싱한다는 표현을 사용한다.

JSON은JavaScript Object Notation의 줄임말로 JavaScript 객체들을 나타내는 데이터의 대표적인 표현 기법이다.

"PEOPLE":[
	{"name":"FREEMOA", "age": 28},
	{"name":"GREENJOA", "age": 32}
]

JSON 형식으로 호출 한 정보를 Javascript 를 활용하여 사용할 수 있도록 "파싱"하는 과정을 거치며

"PEOPLE" 이라는 객체가 가지고 있는 "FREEMOA", 28 이라는 데이터를 사용 할 수 있는 것이다.

 

정리하면, API 함수 호출 시 리턴 되는 형태가 JSON 형식으로 정리되어 그걸 FE에서 쓴다는 것

 

그렇다면 왜 JSON인가?

예전에 많이 사용하는 XML을 대체 -> XML은 헤비하고 너무 복잡하다.

JSON은 XML보다 훨씬 가볍고, 간결하고 쉽다.

XML vs JSON 비교

XML
<people>
	<person>
    		<firstName>길동</firstName>
        	<lastName>홍</lastName>
    	</person>
	<person>
    		<firstName>순신</firstName>
        	<lastName>이</lastName>
    	</person>
 	<person>
    		<firstName>감찬</firstName>
        	<lastName>강</lastName>
    	</person>
</people>
JSON
{
	"people" : [
    	{"firstName" : "길동", "lastName" : "홍"},
        {"firstName" : "순신", "lastName" : "이"},
        {"firstName" : "감찬", "lastName" : "강"}
    ]
}

 

'개념정리' 카테고리의 다른 글
  • NoSQL : MongoDB & Redis
kisusu
kisusu
  • kisusu
    KISUSU
    kisusu
  • 전체
    오늘
    어제
    • 분류 전체보기 (9)
      • 개발기록 (4)
        • SweetBalance (4)
      • 개발공부 (2)
      • 개념정리 (2)
      • 알고리즘 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Top-Down
    스프링 시큐리티
    CORS
    개발공부
    SecurityConfig
    통합 로그인 구현
    redis
    셀레니움
    node.js
    NoSQL
    스프링
    Selenium
    개발자 유미
    CRUD
    리프레시 토큰
    JWT
    인증
    인가
    개념정리
    mongoDB
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
kisusu
API, JSON
상단으로

티스토리툴바