Notice
Recent Posts
Recent Comments
Link
투케이2K
81. (Flutter/플러터) [Mac] : [Dart] : 다트 - [json] JSON 형식 문자열 jsonDecode 디코딩 수행 및 Class 객체에 매핑 수행 본문
Flutter
81. (Flutter/플러터) [Mac] : [Dart] : 다트 - [json] JSON 형식 문자열 jsonDecode 디코딩 수행 및 Class 객체에 매핑 수행
투케이2K 2024. 5. 30. 20:35[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Dart
[소스 코드]
import 'package:flutter/material.dart';
import 'dart:developer';
import 'dart:core';
import 'dart:convert';
// -----------------------------------------------------------------------------------------
// TODO [class] : [JSON 디코딩 값을 담을 클래스]
// -----------------------------------------------------------------------------------------
class User {
final String name;
final int age;
User({required this.name, required this.age});
factory User.fromJson(Map<String, dynamic> json) { // [Map To Class Data]
return User(
name: json['name'],
age: json['age']
);
}
}
// -----------------------------------------------------------------------------------------
// TODO [main] : [application 의 진입점 역할]
// -----------------------------------------------------------------------------------------
void main() {
/**
* ------------------------------------------------
* [요약 설명]
* ------------------------------------------------
* 1. 필요 import : import 'dart:convert';
* ------------------------------------------------
* 2. 참고 사이트 [convert] : https://api.dart.dev/stable/3.4.1/dart-convert/dart-convert-library.html
* ------------------------------------------------
* 3. 참고 사이트 [json] : https://api.flutter.dev/flutter/dart-convert/jsonEncode.html
* ------------------------------------------------
* */
try {
// [초기 변수 선언] : [JSON 형식 문자열]
String jsonString = '{"name": "투케이", "age": 30}';
// [jsonDecode >> Map 삽입]
Map<String, dynamic> map = jsonDecode(jsonString);
// [Map >> Class 삽입]
User user = User.fromJson(map);
// [로그 출력]
log("");
log("-------------------------------------------------------");
log("name :: ${user.name}");
log("-------------------------------------------------------");
log("age :: ${user.age}");
log("-------------------------------------------------------");
log("");
}
catch (e) {
log("");
log("-------------------------------------------------------");
log("Catch :: ${e}");
log("-------------------------------------------------------");
log("");
}
}
[결과 출력]
반응형
'Flutter' 카테고리의 다른 글
Comments