对 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
虽然我只是好奇它背后是否有解决方案
谢谢
答案 0 :(得分:0)
您的 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”的键的值。