【问题标题】:I got this error while retrieving data from the api?从 api 检索数据时出现此错误?
【发布时间】:2020-05-18 20:15:48
【问题描述】:

这段代码有什么错误?在控制台中,我得到了这样的错误

[错误:flutter/lib/ui/ui_dart_state.cc(157)] 未处理的异常: 类型“_InternalLinkedHashMap”不是 输入“可迭代”

class _MytimeoffState extends State<Mytimeoff> {

  List<Map> list = [];

  void getList() async {
    var data = await http
        .get('https://my-json-server.typicode.com/darshanaAlex/db2/time_off');
    var jsonData = json.decode(data.body);

    setState(() {
      for (Map js in jsonData) {
        list.add(js);
      }
    });
    print(jsonData);
  }

  @override
  void initState() {
    super.initState();
    getList();
  }


  @override
  Widget build(BuildContext context) {
    return Scaffold();
}
}

【问题讨论】:

    标签: json api flutter


    【解决方案1】:

    回复是Map 它在 leavetypes 处包含List

    但是您正在尝试将直接映射访问到列表中

    class _MytimeoffState extends State<Mytimeoff> {
    
      List<Map> list = [];
      Map leaveRoot ={};
    
      void getList() async {
        var data = await http
            .get('https://my-json-server.typicode.com/darshanaAlex/db2/time_off');
        leaveRoot = Map.from(json.decode(data.body));
    
        setState(() {
          for (Map js in leaveRoot['leavetype']) {
            list.add(js);
          }
        });
        print(jsonData);
      }
    
      @override
      void initState() {
        super.initState();
        getList();
      }
    
    
      @override
      Widget build(BuildContext context) {
        return Scaffold();
    }
    }
    

    【讨论】:

    • 你真是个天才,非常感谢,爱你!!!,现在我在一家公司实习,任何艰巨的任务来了我从不因为你而害怕。谢谢!!!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-25
    • 2016-12-17
    • 1970-01-01
    相关资源
    最近更新 更多