【问题标题】:TypeError: Cannot read property 'id' of undefined FlutterTypeError:无法读取未定义 Flutter 的属性“id”
【发布时间】:2021-09-06 14:48:48
【问题描述】:

对 Flutter 和 Rest 有点陌生,我遇到了这个问题

我想在我的本地 db.json 文件中发布一些内容。我已经做了一个功能来做到这一点

static Future<Event> addEvent(Event event) async {
  final json = await Rest.post('events', data:event);
  return Event.fromJson(json);
}

调用 Post 请求

static Future post(String endpoint, {dynamic data}) async {
    final response = await http.post(Uri.parse('$_baseUrl/$endpoint'),
        headers: {'Content-Type': 'application/json'}, body: jsonEncode(data));

    if (response.statusCode == 201) {
      return jsonDecode(response.body);
    }
    throw response;
  }

我的 JSON 文件或多或少看起来像这样

"events": [
    {
      "event_id": 1,
      "event_title": "Event title",
      "event_details": "event details",
      "event_date": "2020-05-05",
      "event_category": "Human Dev"
    }
  ]

我收到了一个错误TypeError: Cannot read property 'id' of undefined,如果我将event_id 属性更改为id,它将正常工作。

所以...是的,任何建议都将不胜感激。不介意我是否必须将名称从 event_id 更改为 id 虽然我只是好奇是否有解决方案

谢谢

【问题讨论】:

    标签: node.js json flutter rest dart


    【解决方案1】:

    你的 Json 响应是

    "events": [
    {
      "id": 1,
      "event_title": "Event title",
      "event_details": "event details",
      "event_date": "2020-05-05",
      "event_category": "Human Dev"
    }
    

    ]

    “event_id”未包含在该响应中。这就是该错误的原因。 http 包无法获取名为“event_id”的键的值。

    【讨论】:

    • 那么... JSON 应该有id 属性吗?好像我不能把它改成别的东西?
    猜你喜欢
    • 1970-01-01
    • 2020-03-06
    • 2018-12-02
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    相关资源
    最近更新 更多