json.decode(response.body)......“这里的response.body不起作用......” [重复]

Posted

技术标签:

【中文标题】json.decode(response.body)......“这里的response.body不起作用......” [重复]【英文标题】:json.decode(response.body)..."Here response.body is not working..." [duplicate] 【发布时间】:2021-03-13 04:00:31 【问题描述】:

请帮帮我... 我刚试过这段代码:

**try 
      final response = http.get(url);                       // Giving error here 
      final extractedData = json.decode(response.body);
     catch (error) 
      throw error;
    **

错误信息 "message": "没有为类型 'Future' 定义 getter 'body'。\n尝试导入定义 'body' 的库,将名称更正为现有 getter 的名称,或者定义一个名为'身体'。",

【问题讨论】:

【参考方案1】:
try 
      final response = await http.get(url);   
      final extractedData = json.decode(response.body);
     catch (error) 
      throw error;
    

您收到此错误是因为 get() 返回一个 Future<Response>,这意味着它是异步的,因此您需要使用 async/await 才能获取 Response 对象,然后调用 body

请检查以下内容:

https://dart.dev/codelabs/async-await

https://***.com/a/748189/7015400

【讨论】:

以上是关于json.decode(response.body)......“这里的response.body不起作用......” [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Flutter FormatException: Unexpected character (at character 1)已解决

Flutter 将 json 响应加载到 List

如何在 dart/flutter 中提取 JSON 子数据

无法加载 JSON 数据以在 ListView 中显示

Flutter-使用提供程序在init上获取数据的最佳方法

php中json_decode()和json_encode()的使用方法