美文网首页
Flutter 根据json生成实体类

Flutter 根据json生成实体类

作者: itfitness | 来源:发表于2022-12-11 16:07 被阅读0次

    实现步骤

    1.安装插件

    安装FlutterJsonBeanFactory插件


    2.使用插件

    右键想要生成实体类的文件夹点击JsonToDartBeanAction



    输入类名和想要格式化的json串



    这时会生成如下的实体类
    import 'package:flutter_prevent_lost/generated/json/base/json_field.dart';
    import 'package:flutter_prevent_lost/generated/json/login_bean_entity.g.dart';
    import 'dart:convert';
    
    @JsonSerializable()
    class LoginBeanEntity {
    
        late String msg;
        late int code;
        late LoginBeanData data;
      
      LoginBeanEntity();
    
      factory LoginBeanEntity.fromJson(Map<String, dynamic> json) => $LoginBeanEntityFromJson(json);
    
      Map<String, dynamic> toJson() => $LoginBeanEntityToJson(this);
    
      @override
      String toString() {
        return jsonEncode(this);
      }
    }
    
    @JsonSerializable()
    class LoginBeanData {
    
        late String token;
      
      LoginBeanData();
    
      factory LoginBeanData.fromJson(Map<String, dynamic> json) => $LoginBeanDataFromJson(json);
    
      Map<String, dynamic> toJson() => $LoginBeanDataToJson(this);
    
      @override
      String toString() {
        return jsonEncode(this);
      }
    }
    

    然后我们使用的时候调用里面的转换json的方法即可

    var name =  _unameController.text;
    var pass =  _upassController.text;
    ///创建Map 封装参数
    Map<String,dynamic> map = Map();
    map['username'] = name;
    map['password'] = pass;
    var result = await HttpGlobal.formDataHttpClient().post("app/login",data: map);
    LoginBeanEntity login = LoginBeanEntity.fromJson(result.data);
    

    相关文章

      网友评论

          本文标题:Flutter 根据json生成实体类

          本文链接:https://www.haomeiwen.com/subject/idtafdtx.html