0

我正在尝试向飞镖小部件显示我的数据。数据以 json 格式提供

response = {ID_1: {name: GT06N-17924, v: true, f: false, st: off}, ID_2: {name: GT06N-25723, v: true, f: false, st: false}}

我试图在这样的小部件中显示:

for(var i in response)
       new Text(i['name']);

但它向我显示错误“类型'_InternalLinkedHashMap'不是'Iterable'类型的子类型”

任何解决此问题的想法将不胜感激。

4

2 回答 2

0

我认为您应该在迭代中使用response.values如下所示,

for(var i in response.values)
       new Text(i['name']);
于 2020-04-30T15:53:19.473 回答
0

首先,您应该将 json 转换为 dart 对象。使用在线 json to dart 转换器创建一个 dart 文件(假设文件名为 model_myresponse )。检查下面的代码以访问 JSON 响应中的项目。

final Map<String, dynamic> parsed = await wrapper.get_CategoryFull(catid);
final model = get_model_category.fromJson(parsed);
if (model.information.length > 0) {
      for (int i = 0; i < model.information.length; i++) {
        catlist.add(new model_categoryitem(model.information[i].id, model.information[i].name,
            model.information[i].imgUrl));
      }

    } 

您必须将 JSON 转换为 dart 对象,然后才能轻松访问 json 对象。

于 2021-07-06T06:47:29.370 回答