繁体   English   中英

键入&#39;_InternalLinkedHashMap<String, dynamic> &#39; 不是类型 &#39;FutureOr 的子类型<List<dynamic> &gt;

[英]type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'FutureOr<List<dynamic>>

我正在尝试获取 JSON 响应,但出现此错误:

type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'FutureOr<List<dynamic>>

这是我的代码:

Future<List> loadFriendParties (String id) async {
    //TODO change userId
    var request = await EndPoints.getUserInterest(id);
    print(request.body);
    print(request.statusCode);
    if (request.statusCode == 200) {
      return jsonDecode(request.body)['data'] ?? [];
    }
    return [];
  }

FutureBuilder(
    future: myFriendPartiesLoader = loadFriendParties(element['id']),
    builder: (context, snapshot) {
         print('snapshot: ${snapshot.data}');
         print('snapshot2: ${snapshot}');

上面的印刷品给了我这个:

snapshot: null
snapshot2: AsyncSnapshot<List<dynamic>>(ConnectionState.done, null, type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'FutureOr<List<dynamic>>'

这是我的 JSON:

{
    "data": {
        "intrested": [
            {
                "event_name": "Karaoke",
                "city": "Warszawa
                "description": "text",
            },
            {
                "event_name": "PAPUGOWE",
                "city": "Toruń",
                "description": "text",
            }
        ],
        "participate": [],
        "be_today": [
            {
                "name": "Ryba Piła",
                "city": "Gdańsk",
                "description": "text",
            },
            {
                "name": "Moon Club",
                "city": "Toruń",
                "description": "text.",
            }
        ]
    }
}

在这种情况下如何正确处理来自 JSON 的响应?

Future<List> loadFriendParties (String id) async {
    //TODO change userId
    var request = await EndPoints.getUserInterest(id);
    print(request.body);
    print(request.statusCode);
    if (request.statusCode == 200) {
    
     Map<String, dynamic> json = jsonDecode(request.body)['data'];
     //then return what you want here
     
    }
    return [];
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM