我想访问JSON数组的内部元素,并在listview生成器中显示其值。我的Model类有3个类GetMenuListModel,Menu和MenuItem。在getMenuListModel里面有List Menu和List MenuItem。我试图通过. map({e)=访问它
REST API RESPONSE的模型类
import 'dart:convert';
GetMenuListModel getMenuListModelFromJson(String str) => GetMenuListModel.fromJson(json.decode(str));
String getMenuListModelToJson(GetMenuListModel data) => json.encode(data.toJson());
class GetMenuListModel {
GetMenuListModel({
this.methodCode,
this.menu,
});
String methodCode;
List<Menu> menu;
GetMenuListModel menuList;
factory GetMenuListModel.fromJson(Map<String, dynamic> json) => GetMenuListModel(
methodCode: json["method_code"],
menu: List<Menu>.from(json["menu"].map((x) => Menu.fromJson(x))),
);
Map<String, dynamic> toJson() => {
"method_code": methodCode,
"menu": List<dynamic>.from(menu.map((x) => x.toJson())),
};
}
class Menu {
Menu({
this.id,
this.name,
this.menuItem,
});
int id;
String name;
List<MenuItem> menuItem;
factory Menu.fromJson(Map<String, dynamic> json) => Menu(
id: json["id"],
name: json["name"],
menuItem: List<MenuItem>.from(json["menu_item"].map((x) => MenuItem.fromJson(x))),
);
Map<String, dynamic> toJson() => {
"id": id,
"name": name,
"menu_item": List<dynamic>.from(menuItem.map((x) => x.toJson())),
};
}
class MenuItem {
MenuItem({
this.vendorId,
this.vendorName,
this.code,
this.name,
this.price,
this.type,
this.in_stock,
this.in_currentslot,
this.qty,
});
int vendorId;
VendorName vendorName;
String code;
String name;
double price;
int qty=0;
String type, in_stock, in_currentslot;
set setQty(int data){
qty=data;
}
set addPrice(double amount){
price += amount;
}
set minusPrice(double amount){
price -= amount;
}
get getPrice{
return price;
}
get getQty{
return qty;
}
factory MenuItem.fromJson(Map<String, dynamic> json) => MenuItem(
vendorId: json["vendor_id"],
vendorName: vendorNameValues.map[json["vendor_name"]],
code: json["code"],
name: json["name"],
price: json["price"],
type: json["type"],
in_stock: json["in_stock"],
in_currentslot: json["in_currentslot"],
qty: 0,
);
Map<String, dynamic> toJson() => {
"vendor_id": vendorId,
"vendor_name": vendorNameValues.reverse[vendorName],
"code": code,
"name": name,
"price": price,
"type": type,
"in_stock": in_stock,
"in_currentslot": in_currentslot,
};
}
enum VendorName { UBER_HOSPITALITY }
final vendorNameValues = EnumValues({
"Uber Hospitality": VendorName.UBER_HOSPITALITY
});
class EnumValues<T> {
Map<String, T> map;
Map<T, String> reverseMap;
EnumValues(this.map);
Map<T, String> get reverse {
if (reverseMap == null) {
reverseMap = map.map((k, v) => new MapEntry(v, k));
}
return reverseMap;
}
}
我的listview构建器代码
Flexible(
child: Card(
child: ListView.builder(
itemCount: Utility.list.length,
itemBuilder: (context,i) {
return
// Utility.allMenu[i].menuItem.map<Widget>((e) => //getting error here<-------
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text('${Utility.list[i]}'),
Row(
children: [
IconButton( onPressed: () { }, icon: Icon(Icons.add),),
Container(
height: 18, width: 18,
child: Text('qty')
),
IconButton( onPressed: () { }, icon: Icon(Icons.remove),),
],
)
],
)/*).toList(),*/;
})
// child: ListView.builder(itemBuilder: null),
),
),
使用ListView.builder您只声明一个小部件元素,而不是列表。如果我正确理解您的代码(我没有看到(e)使用任何地方),您可以简单地删除Utility.allMenu[i]. menuItem.map((e)=
如果要返回列表,请删除。建筑商
本文向大家介绍MongoDB中如何访问JSON数组的内部元素,包括了MongoDB中如何访问JSON数组的内部元素的使用技巧和注意事项,需要的朋友参考一下 要在MongoDB中访问JSON数组的内部元素,请使用点表示法。让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是访问JSON数组内部元素的查询- 这将产生以下输出-
我有一个简单的内部类变量,如何在scala中访问它?
问题内容: 我是python的新手,我想了解如何处理数组的元素。例如,如果我有: 我已经在python中定义了它们,例如: 我看到我无法参考,但是给了我一个结果。所以,我不明白如何访问这些数组的第二行?那会是吗?为了将它们乘以等,我将如何做? 问题答案: 如果你有 然后 将正常工作。就像您想要的那样,它指向第二列,第二行。 我不确定您做错了什么。 要乘以第三列中的单元格,您可以执行以下操作 它将适
通过触发这个Webhook,我收到一个订单对象,当我在电子邮件中输出它时,它如下所示: 数组{“id”:1154,“parent_id”:0,“status”:“pending”,“currency”:“eur”,“version”:“3.2.3”,“prices_include_tax”:true,“date_created”:{“date”:“2017-12-15 15:58:42.00000
问题内容: 我有以下JSON对象: 这是来自一个请求,我有成功。 问题是,即使dataJS在控制台中正确显示,我也无法访问JSON对象中的项目。有想法吗? 问题答案: 那是因为您的基础对象也是数组。 我怀疑那会有用
我们可以使用for of循环访问数组元素: 如何修改此代码以访问当前索引?我想通过使用forEach和for-in来实现这一点。