- [flutter]JSON 파싱(parsing)하기 목차
인터넷에서 데이터를 가져오는 경우에 JSON 형태로 데이터를 제공하는 서버들이 많이 있습니다.
오늘은 서버에서 제공하는 Json 데이터를 어떻게 파싱 하여 읽어야 하는지 알아보겠습니다.
import 'dart:convert';
이 dart:convert는 json 등 다양한 형태의 파일을 encoding/decoding 위해 필요한 라이브러리입니다.
https://api.dart.dev/stable/3.2.4/dart-convert/dart-convert-library.html
오늘은 json 파일의 decoding에 대해 알아보겠습니다.
http.Response response = await http.get(Uri.parse('https://sample
if(response.statusCode == 200){
String jsonData = response.body;
var myJson = jsonDecode(jsonData)['weather'][0]['description'];
print(myJson);
특정 웹 사이트로부터 json 파일을 받는 경우에 jsonDecode() 함수를 사용합니다.
https://api.dart.dev/stable/3.2.4/dart-convert/jsonDecode.html
아래 내용은 위 사이트의 문서에서 가져온 내용입니다.
const jsonArray = ''' [{"text": "foo", "value": 1, "status": true}, {"text": "bar", "value": 2, "status": false}] ''';
final List<dynamic> dataList = jsonDecode(jsonArray);
print(dataList[0]); // {text: foo, value: 1, status: true} print(dataList[1]); // {text: bar, value: 2, status: false} final item = dataList[0];
print(item['text']); // foo
print(item['value']); // 1
print(item['status']); // false
List<dynamic>에서 dynamic 타입은 json 파일에서 데이터를 가져올 때 위 예제에서 보듯이 String 또는 integer를 가져오기 때문에 타입을 dynamic으로 선언한 것입니다.
jsonArray는 json 데이터가 2개 들어있음으로 리스트로 선언한 것입니다.
'flutter' 카테고리의 다른 글
[flutter]페이지 이동(Navigator.push(context, route) (0) | 2023.12.27 |
---|---|
[flutter]다른 파일을 import하는 경우 경로 설정 (0) | 2023.12.26 |
[flutter]인터넷 서버에 연결하는 패키지(http) (0) | 2023.12.10 |
[flutter]현재 위치 정보를 가져오는 플러그인 패키지(geoloactor) (0) | 2023.12.09 |
[flutter]Build failed due to use of deprecated Android v1 embedding. (0) | 2023.11.12 |