[Dart] Data Type

김동욱·2023년 12월 11일
0

Dart DataType

여러가지 데이터타입 존재

CSV

csv 사용하기 위해선 라이브러리 필요
https://pub.dev/packages/csv

  String csvStr = 'hong, john, load';

properties

properties 사용하기 위해선 라이브러리 필요
https://pub.dev/packages/properties

   property type file read
   https://pub.dev/packages/properties
   const filePath = './';
   Properties p = Properties.fromFile(filePath);
   String? value = p.get('test.key.1');

XML

JSON

  final jsonDump = {
    "name": "hong",
    "age": 30,
    "asdf": 10.3,
    "email": "qwerasdf@naver.com"
  };

직렬화, 역직렬화

클래스 내 직렬화 역직렬화는 toJson, fromJson 이 통상적인 룰

class UserDump {
  final String name;
  final String email;

  UserDump(
    this.name,
    this.email,
  );

  // The initializer type 'Object?' can't be assigned to the field type 'String'
  // Map<String, Object> => Map<String, dynamic>
  UserDump.fromJson(Map<String, dynamic> json)
      : name = json['name'],
        email = json['email'];

  Map<String, dynamic> toJson() => {
        'name': name,
        'email': email,
      };
}

직렬화

final user01 = UserDump('hong', 'qwerasdf@naver.com');
  final userJson = user01.toJson();
  log.info(userJson);
  //👻 INFO 2023-12-11 15:07:02.383 [caller info not available] {name: hong, email: qwerasdf@naver.com}

어떤 사유인지는 확실하지 않으나
The initializer type 'Object?' can't be assigned to the field type 'String'
json 선언시 Map<String, Object> 대신 Map<String, dynamic> 을 사용해야하는 것 같음

ref)
1. "properties | Dart Package", 23.12.11, https://pub.dev/packages/properties

profile
백엔드 개발자

0개의 댓글