flutter

JSON Parsing

WIKILOG 2022. 4. 10. 19:04

일전 공공데이터 포털에서 불러온 API를 Flutter에서 parsing 해보고자 합니다.

 

공공데이터 포털에서 API 사용하기

 

공공데이터포털에서 의약품개요정보(e약은요) API 활용하기

공공데이터포털 소개 공공데이터포털은 각 공공기관에서 수집한 공공데이터를 공개하여 개인이나 기업이 사용할 수 있도록 만든 페이지입니다. 공공데이터포털은 공공기관이 생성 또는 취득

today-devlog.tistory.com

 

flutter 내에서 api를 호출하기 위해서는 우선 http 통신이 가능해야 합니다.

 

상단에 http 플러그인을 import 시켜줍니다.

 

import 'package:http/http.dart';

 

async인 main 함수를 하나 선언하여 JSON 데이터를 받아오도록 합니다.

 

void main() async {
  final url = Uri.parse('http://~~~~');
  var response = await http.get(url);
  var statusCode = response.statusCode; // 상태 정보 (response를 성공적으로 불러왔을 경우 200)
  var responseHeaders = response.headers;
  var responseBody = response.body;

  print('statusCode: $statusCode');
  print('responseHeaders: $responseHeaders');

  if (statusCode == 200) {
    print('responseBody: $responseBody');
  }
}

 

async로 선언한 이유는 http  get() 함수가 await 를 포함하고 있어, 비동기가 되기 때문입니다.

 

statusCode의 경우 http 상태를 나타내는 코드로 200일 때가 response를 정상적으로 가지고 왔음을 나타냅니다.

 

https://developer.mozilla.org/ko/docs/Web/HTTP/Status

 

HTTP 상태 코드 - HTTP | MDN

HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려줍니다. 응답은 5개의 그룹으로 나누어집니다: 정보를 제공하는 응답, 성공적인 응답, 리다이렉트, 클라이언트 에러, 그리고

developer.mozilla.org

 

그래서 statusCode가 200일 때 response 값을 출력할 수 있도록 합니다.