build_runner的使用
1、在根目录运行
2、一次性创建.g.dart文件 使用build 此时目录内不能有.g.dart文件
3、watch是监听 有model类的文件创建 自动创建.g.dart文件
flutter packages pub run build_runner build
flutter packages pub run build_runner watch
dependencies:
flutter:
sdk: flutter json_annotation: ^1.2. #json_serializable助手 dev_dependencies:
flutter_test:
sdk: flutter build_runner: ^1.0. #创建.g.dart
json_serializable: ^1.5. #序列化json

.dart文件

import 'package:json_annotation/json_annotation.dart';

part 'UserInfo.g.dart';
///标志class需要实现json序列化功能
@JsonSerializable()
///创建类Userinfo 继承Object
///里面有两个属性 name和id
class UserInfo extends Object {
String name;
int id; ///通过JsonKey重新定义参数名
@JsonKey(name: "details_id")
int detailsId; /// 构造函数
UserInfo(this.name, this.id, this.detailsId); /// _$HomeModelFromJson 这个函数在.g.dart中,命名就是类名+FromJson
/// 直接写就行 报错也没关系 生成.g.dart文件之后就好了
factory UserInfo.fromJson(Map<String, dynamic> json) => _$UserInfoFromJson(json); }

.g.dart文件
这个文件是build_runner生成的文件
创建完了IDE文件列表看不见,去文件目录里面找。

// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'UserInfo.dart';

// **************************************************************************
// JsonSerializableGenerator
// ************************************************************************** UserInfo _$UserInfoFromJson(Map<String, dynamic> json) {
return UserInfo(json['name'] as String, json['id'] as int);
} Map<String, dynamic> _$UserInfoToJson(UserInfo instance) =>
<String, dynamic>{'name': instance.name, 'id': instance.id};

Flutter 数据模型创建的更多相关文章

  1. Django,数据模型创建之数据库API参考(转载)

    一旦 数据模型 创建完毕, 自然会有存取数据的需要.本文档介绍了由 models 衍生而来的数据库抽象API,及如何创建,得到及更新对象. 贯穿本参考, 我们都会引用下面的民意测验(Poll)应用程序 ...

  2. asp.net core 系列 20 EF基于数据模型创建数据库

    一.概述 本章使用 Entity Framework Core 构建执行基本数据访问的 ASP.NET Core MVC 应用程序.使用迁移(migrations)基于数据模型创建数据库,是一种cod ...

  3. (17)ASP.NET Core EF基于数据模型创建数据库

    1.简介 使用Entity Framework Core构建执行基本数据访问的ASP.NET Core MVC应用程序.使用迁移(Migrations)基于数据模型创建数据库,你可以在Windows上 ...

  4. flutter vscode创建objc工程

    通过vscode创建flutter工程时,默认创建的是swift项目工程,如果想要修改,可以通过vscode设置默认创建语言 1. Open vscode settings. Under User S ...

  5. Flutter - 快速创建Stateless和Stateful组件

    1. 快速创建Stateless组件 输入stle,回车 class extends StatelessWidget { @override Widget build(BuildContext con ...

  6. flutter 从创建到渲染的大体流程

    从创建到渲染的大体流程是:根据Widget生成Element,然后创建相应的RenderObject并关联到Element.renderObject属性上,最后再通过RenderObject来完成布局 ...

  7. flutter tabbar创建与显示

    效果图 main.dart import 'package:flutter/material.dart'; import 'pages/index_page.dart'; void main() =& ...

  8. 创建你的第一个Flutter应用程序

    前言 Flutter,Google推出的跨平台开发框架.就在前几天,Flutter的首个发布预览版(Release Preview 1)正式发布! 即将迎来Flutter 正式版(1.0).本篇将带你 ...

  9. CoreData 从入门到精通 (一) 数据模型 + CoreData 栈的创建

    CoreData 是 Cocoa 平台上用来管理模型层数据和数据持久化的一个框架,说简单点,就是一个数据库存储框架.CoreData 里相关的概念比较多,而且初始化也非常繁琐,所以对初学者的学习还是有 ...

随机推荐

  1. 在Ubuntu Server上安装Postgresql

    首先更新一下源: sudo apt-get update 如果你不知道Postgresql具体的包的名称,可以使用一下语句进行查找: apt-cache search ^Postgresql 使用上述 ...

  2. Chrome 开发工具之Timeline/Performance

    之前有说到Element,Console,Sources大多运用于debug,Network可用于debug和查看性能,今天的主角Timeline(现已更名Performance)更多的是用在性能优化 ...

  3. Log4j按级别输出日志到不同文件配置

    1.自定义LogFileAppender类,继承DailyRollingFileAppender,实现Log4j按级别输出日志到不同文件. package com.liying.mango.commo ...

  4. Linux下解决高并发socket最大连接数限制,tcp默认1024个连接

    linux作为服务器系统,当socket运行高并发TCP程序时,通常会出现连接建立到一定个数后不能再建立连接的情况 本人在工作时,测试高并发tcp程序(GPS服务器端程序),多次测试,发现每次连接建立 ...

  5. Geohash距离估算

    http://www.cnblogs.com/LBSer/p/3298057.html 一.经纬度距离换算 a)在纬度相等的情况下: 经度每隔0.00001度,距离相差约1米: 每隔0.0001度,距 ...

  6. Unity生成WebService代理类

    普通的.net程序中,如果我们想引用webService,只需在项目中右键选择添加服务引用,然后在地址栏中输入Webservice地址,单击“转到”按钮,找到服务后再单击确定,Visual Studi ...

  7. 通过HttpServletRequest获取服务器路径

    String scheme = request.getScheme(); String serverName = request.getServerName(); int port = request ...

  8. Hibernate进行对象的增删改查

    首先我们看看hibernate手动配置步骤 (这个了解一点就可以了,以后是不会自己全部手动配置的) 1.    创建WEB项目 2       下载hibernate-release-4.3.11.F ...

  9. Spring IOC 源码之ResourceLoader

    转载自http://www.blogjava.net/DLevin/archive/2012/12/01/392337.html 在<深入Spring IOC源码之Resource>中已经 ...

  10. SpringMVC源码阅读入门

    1.导入 Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就包含在Spring框架中.正式的名称“Spring Web MVC”来自于它的源模块(spring-w ...