跳转至

字典模型转换

import 'dart:convert';

class ChatModel {
  final String? name;//final修饰,赋值之后不会再修改。?空安全
  final String? message;
  final String? imageUrl;

  const ChatModel({this.name, this.message, this.imageUrl});//构造函数 大括号表示可选,下面的属性要么有默认值= 要么是?空安全的

  //工厂构造 可以有返回值。Map转Model。
  factory ChatModel.formMap(Map map) {
    return ChatModel(
      name: map['name'],
      message: map['message'],
      imageUrl: map['imageUrl'],
    );
  }
}

void json_map() {
  //定义map
  final chat = {'name': 'haha', 'message': '吃了吗'};
  //map转json
  final chatJson = json.encode(chat);
  print(chatJson);
  //json转map
  final newChat = json.decode(chatJson);
  print(newChat);
  print(newChat['name']);
  print(newChat is Map);//true

  final chatModel = ChatModel.formMap(newChat);
  print('name:${chatModel.name} message:${chatModel.message}');
}