我有JSON数据,我正在使用await jsonDecode加载到List>>中。
例如,我有一个;
我需要过滤son以获得name
值: Abdul
另外,如果我有一个name_group
= alpukat。
如何过滤列表JSON数据以获得Flutter中的值?
[
{
"receive_brutto" : 10,
"receive_netto" : 20,
"receive_reject" : 30,
"data" : [
{
"id_trx_procurement" : 1,
"item_group_id" : 3135,
"date_proc" : "2020-11-29",
"trx_procurement2" : {
"user_proc" : {
"user" : {
"name" : "Abdul Fatah"
}
}
},
"item_group_proc" : {
"name_group" : "Alpukat",
"uom_item_group_name" : "Kg"
},
"uom_proc" : {
"name" : "Kg"
}
},
{
"id_trx_procurement" : 2,
"item_group_id" : 3135,
"date_proc" : "2020-11-29",
"trx_procurement2" : {
"user_proc" : {
"user" : {
"name" : "Abdul Fatah"
}
}
},
"item_group_proc" : {
"name_group" : "Apel",
"uom_item_group_name" : "Kg"
},
"uom_proc" : {
"name" : "Kg"
}
}
]
},
{
"receive_brutto" : 10,
"receive_netto" : 20,
"receive_reject" : 30,
"data" : [
{
"id_trx_procurement" : 1,
"item_group_id" : 3135,
"date_proc" : "2020-11-29",
"trx_procurement2" : {
"user_proc" : {
"user" : {
"name" : "Abdul Fatah"
}
}
},
"item_group_proc" : {
"name_group" : "Alpukat",
"uom_item_group_name" : "Kg"
},
"uom_proc" : {
"name" : "Kg"
}
},
{
"id_trx_procurement" : 2,
"item_group_id" : 3135,
"date_proc" : "2020-11-29",
"trx_procurement2" : {
"user_proc" : {
"user" : {
"name" : "Abdul Fatah"
}
}
},
"item_group_proc" : {
"name_group" : "Apel",
"uom_item_group_name" : "Kg"
},
"uom_proc" : {
"name" : "Kg"
}
}
]
}
]
我希望结果过滤器列表data
和数据列表添加到列表中,
这是我的代码,但不起作用。
List<E> listItemReceive;
listItemReceive.forEach((element1) {
element1.data.forEach((element2) {
if (element2.itemGroupProc.namegroup
.toLowerCase()
.contains(text.toLowerCase()) ||
element2.trxProcurement2.userProc.user.name
.toLowerCase()
.contains(text.toLowerCase())) {
tmp2.add(element2);
}
element1.add(tmp2);
});
tmplistItemReceive.add(element1);
});
我该怎么解决它呢?
发布于 2020-12-02 23:34:19
element1
,您将从element1.data
中筛选出一些需要的项目。添加到一个名为tmp2
.的列表中(我猜是这样)
然后,添加到element1.add(tmp2);
:
element1
添加到element1
后的
tmp2
。因此tmp2
将继续发展发布于 2020-12-03 00:51:14
您可以使用键遍历列表。请看下面的代码,它过滤掉所有的名称和name_group。
void main() {
List<Map<String, dynamic>> one = [
{
"receive_brutto": 10,
"receive_netto": 20,
"receive_reject": 30,
"data": [
{
"id_trx_procurement": 1,
"item_group_id": 3135,
"date_proc": "2020-11-29",
"trx_procurement2": {
"user_proc": {
"user": {"name": "Abdul Fatah"}
}
},
"item_group_proc": {
"name_group": "Alpukat",
"uom_item_group_name": "Kg"
},
"uom_proc": {"name": "Kg"}
},
{
"id_trx_procurement": 2,
"item_group_id": 3135,
"date_proc": "2020-11-29",
"trx_procurement2": {
"user_proc": {
"user": {"name": "Abdul Fatah"}
}
},
"item_group_proc": {
"name_group": "Apel",
"uom_item_group_name": "Kg"
},
"uom_proc": {"name": "Kg"}
}
]
},
{
"receive_brutto": 10,
"receive_netto": 20,
"receive_reject": 30,
"data": [
{
"id_trx_procurement": 1,
"item_group_id": 3135,
"date_proc": "2020-11-29",
"trx_procurement2": {
"user_proc": {
"user": {"name": "Abdul Fatah"}
}
},
"item_group_proc": {
"name_group": "Alpukat",
"uom_item_group_name": "Kg"
},
"uom_proc": {"name": "Kg"}
},
{
"id_trx_procurement": 2,
"item_group_id": 3135,
"date_proc": "2020-11-29",
"trx_procurement2": {
"user_proc": {
"user": {"name": "Abdul Fatah"}
}
},
"item_group_proc": {
"name_group": "Apel",
"uom_item_group_name": "Kg"
},
"uom_proc": {"name": "Kg"}
}
]
}
];
List<String> names = [];
one.forEach((item)=>
(item['data'] as List).forEach((item2)=>
names.add(item2['trx_procurement2']['user_proc']['user']['name'])
)
);
print(names);
List<String> nameGroup = [];
one.forEach((item)=>
(item['data'] as List).forEach((item2)=>
nameGroup.add(item2['item_group_proc']['name_group'])
)
);
print(nameGroup);
}
https://stackoverflow.com/questions/65110920
复制相似问题