Flutter(4):Model类

文章讲述了如何在Dart开发中使用UserModel和PersonModel类将JSON数据转换为Map对象,以实现更好的类型安全和简化嵌套JSON的处理。作者展示了如何解析包含嵌套对象的JSON实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在开发过程中,后台接口往往会返回一些结构化数据(JSON),为了方便在代码中操作 JSON 数据,可以将其转换为 Dart 对象(Map)。

user_model.dart

class UserModel {
  String name = '';
  int age = 0;

  UserModel();		// 默认构造函数,当不提供任何参数时,会使用默认值创建一个UserModel对象

  UserModel.fromJson(Map<String, dynamic> json)		// 命名构造函数
    : name = json['name'],		// 构造函数的初始化列表
      age = json['age'],
}

person_model.dart

import 'package:test/models/user_model.dart';

class PersonModel {
  String name = '';
  int age = 0;
  UserModel mother = UserModel();
  List<UserModel> friends = <UserModel>[];

  PersonModel();

  PersonModel.fromJson(Map(String, dynamic) json)
    : name = json['name'],
      age = json['age'],
      mother = json['mother'] == null ? UserModel() : UserModel.fromJson(json['mother']),
      friends = json['friends'] == null ? <UserModel>[] : json['friends'].map(x => UserModel.fromJson(x)),
}

在模型类中序列化 JSON 数据,可以获得更好的类型安全。除此之外,对于嵌套的 JSON 对象的序列化,Model 类也会简化代码的阅读和维护。

var person = {
  "name": "John",
  "age": 18,
  "mother": {
	"name": "Alice",
	"age": 43,
  },
  "friends": [
	{
	  "name" : "Jack",
	  "age": 18,
	},
	{
	  "name": "Nancy",
	  "age": 17,
	},
  ],
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值