【发布时间】:2020-03-06 01:01:03
【问题描述】:
Flutter 新手在这里。我很难尝试将本地 json 列表解码为模型对象。
到目前为止,我成功地展示了我想展示的内容,例如:
我的数据[索引]['id']
myData[index]['name']
但我想使用我已经创建的模型对象,例如:
规则.id
规则名称
并最终通过 onTap 事件传递规则对象。
这是我用来加载json的代码:future:DefaultAssetBundle.of(context).loadString('assets/rule.json'),
这是 FutureBuilder 中的代码。
var myData = json.decode(snapshot.data);
return ListView.builder(
itemBuilder: (BuildContext context, int index) {
return Padding(
padding: const EdgeInsets.all(10.0),
child: ListTile(
leading: Icon(Icons.people),
title: Text(myData[index]['id']),
subtitle: Text(myData[index]['name']),
trailing: Icon(Icons.keyboard_arrow_right),
onTap: () => RuleDetailPage.show(context),
),
);
},
itemCount: myData == null ? 0 : myData.length,
);
},
)
);
fromJson 方法如下所示:
工厂 Rule.fromJson(Map json) { 返回规则( id: json['id'], 名称:json['name'], ); } }
【问题讨论】:
-
您好,您的要求还不是很清楚。事实上,这似乎是一个非常广泛的问题,因为可能有不止一种方法可以做你提到的那种事情。网上有大量的技术信息可以开始这种事情。建议您尝试研究该主题,尝试您想使用的方法,如果您遇到互联网搜索无法回答的特定问题,请在此处发布。
标签: flutter