[개발] Flutter

[Flutter] jsonDecode 란?

  • -
반응형

Flutter의 jsonDecode

Flutter에서 jsonDecode는 JSON 데이터를 파싱하여 Dart 객체로 변환하는 함수입니다. 주로 HTTP 요청이나 로컬 파일로부터 가져온 JSON 데이터를 사용자가 처리할 수 있는 형식으로 변환할 때 사용됩니다.

jsonDecode 함수는 JSON 문자열을 파싱하여 Dart의 기본 자료형으로 변환합니다. Dart에서 제공하는 dart:convert 라이브러리에 포함되어 있으며, JSON 문자열을 Map이나 List와 같은 Dart 객체로 변환합니다.

아래는 JSON 데이터를 jsonDecode를 사용하여 파싱하는 예제입니다:

import 'dart:convert'; void main() { String jsonString = '{"name": "John", "age": 30}'; // jsonDecode로 JSON 문자열을 Map으로 변환 Map<String, dynamic> user = jsonDecode(jsonString); print('이름: ${user['name']}'); print('나이: ${user['age']}'); }

jsonDecode 함수는 JSON의 구조에 따라 Map 또는 List를 반환합니다. 예를 들어, JSON 객체는 Map으로 변환되고, 배열은 List로 변환됩니다.

String jsonString = '{"name": "Alice", "age": 25}'; Map<String, dynamic> user = jsonDecode(jsonString); print(user['name']); // 출력: Alice
String jsonArray = '[{"name": "Alice"}, {"name": "Bob"}]'; List users = jsonDecode(jsonArray); print(users[0]['name']); // 출력: Alice

Flutter 앱에서 HTTP API로부터 받은 JSON 데이터를 파싱할 때 jsonDecode를 자주 사용합니다. 예를 들어, http 패키지를 사용하여 서버로부터 JSON 데이터를 받아와 이를 파싱하는 과정은 다음과 같습니다:

import 'dart:convert'; import 'package:http/http.dart' as http; void fetchData() async { final response = await http.get(Uri.parse('https://jsonplaceholder.typicode.com/users')); if (response.statusCode == 200) { List data = jsonDecode(response.body); print('첫 번째 사용자 이름: ${data[0]['name']}'); } else { print('데이터를 불러오는데 실패했습니다.'); } }
  • 간편한 JSON 파싱: JSON 문자열을 간단하게 Dart의 Map이나 List 객체로 변환합니다.
  • 에러 처리: 잘못된 JSON 형식이 입력될 경우 FormatException을 발생시켜 에러를 처리할 수 있습니다.
  • 비동기 작업과 사용: 서버로부터 데이터를 받아올 때 비동기 작업과 함께 자주 사용됩니다.

jsonDecode는 Flutter에서 JSON 데이터를 파싱할 때 매우 유용한 함수입니다. 서버로부터 받아온 데이터를 손쉽게 Dart 객체로 변환할 수 있으며, 이를 통해 데이터를 앱 내에서 쉽게 처리할 수 있습니다.

반응형

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.