APIs / JSON&XML

장윤찬·2021년 12월 13일
0

Flutter 발전시키기

목록 보기
4/5
post-thumbnail

API?

API는 'Application Programming Interface'의 약자이다.
위키피디아의 정의에 따르면 API는 개발자가 외부시스템과 상호작용하거나 소프트웨어를 만들수 있도록하는 일련의 commands, function, protocols, objects 이다. 즉, API라는 개념은 꽤나 광범위하게 쓰일 수 있다.
예를들어 우리가 flutter 라이브러리를 통해 사용하고있는 여러 클래스들도 API인것이다. 중요한점은 API는 standard commands 형식을 제공하므로 사용하는 개발자는 코드를 처음부터 다시 작성할 필요가 없다.

API란 한마디로 프로그램 서로간에 소통이 가능하도록 하는 인터페이스이다. 보통은 외부의 서버와 데이터를 주고받기 위한 방법을 뜻한다. 즉 특정 사이트와 데이터를 통신할 경우, 데이터 요청 방식, 응답할 데이터의 규격을 의미한다.

JSON&XML

구조화된 문서(데이터)를 전송 가능하게 하는 텍스트 포맷이다.
API를 통해 가져오고자 하는 데이터의 응답형식인것이다.

XML(eXtensible Markup Language)

  • 형식
<key>value</key>

예시는 아래 링크를 참고하자.
http://openapi.seoul.go.kr:8088/sample/xml/RealtimeCityAir/1/5/

태그 사이에 값이있고 닫힌태그의 키 앞에는 /를 붙혀준다. 트리형태의 계층구조를 가진다. XML트리는 하나뿐인 root와 요소부터 시작하여 각각의 자식요소에게 차례로 연결된다. 트리구조의 모든요소는 자신의 자식요소를 가질 수 있다.
배열형식, 반복구조일 경우 불필요한 데이터의 증가로 읽기 힘들며 파싱(분석)이 힘들어진다.

JSON

  • 형식
{key:value}

예시는 아래 링크를 참고하자.
http://openapi.seoul.go.kr:8088/sample/json/RealtimeCityAir/1/5/

'JavaScript Object Notation'의 약자로 자바스크립트언어의 객체이다.
XML의 대안으로서 좀더 쉽게 데이터를 다룰 수 있다.
텍스트 기반이므로 어떠한 프로그래밍 언어에서도 JSON데이터를 다룰 수 있다.
{}으로 객체구분을, []로 배열구분을 하여, 작성할 수 있다. 키의 데이터가 배열일 경우 []로 배열을 선언함으로써 '인덱스:값' 형태로 작성이 가능하다.
XML보다 데이터 용량이 적으므로 파싱이 간편하다.

profile
Flutter 학습 일기

0개의 댓글