dependencies:
json_serializable: 3.5.1
dev_dependencies:
build_runner: any
{
"data": [
{
"cate": "水果類",
"img": "fruits",
"info": [
{
"id": "D0100101",
"kind": "水果類",
"title": "山竹",
"description": "生鮮,去皮及子,混合均勻打碎",
"heat": "66.7733",
"potassium": "81.7065",
"phosphorus": "12.4949"
},
{
"id": "D4300101",
"kind": "水果類",
"title": "蛋黃果",
"description": "生鮮,長形種,去皮及子,混合均勻打碎",
"heat": "95.8583",
"potassium": "288.7133",
"phosphorus": "20.076"
}
]
},
{
"cate": "豆類",
"img": "beans",
"info": [
{
"id": "H01051",
"kind": "豆類",
"title": "白鳳豆平均值",
"description": "生,混合均勻磨碎",
"heat": "295.9715",
"potassium": "1272.5116",
"phosphorus": "399.7434"
},
{
"id": "H1505101",
"kind": "豆類",
"title": "紅扁豆仁",
"description": "生,乾貸,混合均勻磨碎",
"heat": "307.8857",
"potassium": "827.96",
"phosphorus": "270.488"
}
]
},
]
}
import 'package:json_annotation/json_annotation.dart';
part 'food_cate.g.dart';
@JsonSerializable()
class FoodCate {
String cate;
String img;
List<FoodInfo> info;
FoodCate({this.cate, this.info});
Map<String, dynamic> toJson() => _$FoodCateToJson(this);
factory FoodCate.fromJson(Map<String, dynamic> json) => _$FoodCateFromJson(json);
}
@JsonSerializable()
class FoodInfo {
String id;
String kind;
String title;
String description;
String heat;
String potassium;
String phosphorus;
FoodInfo({
this.id,
this.kind,
this.title,
this.description,
this.heat,
this.potassium,
this.phosphorus,
});
Map<String, dynamic> toJson() => _$FoodInfoToJson(this);
factory FoodInfo.fromJson(Map<String, dynamic> json) =>
_$FoodInfoFromJson(json);
}
在終端機執行:
flutter packages pub run build_runner build --delete-conflicting-outputs