【发布时间】:2019-06-10 08:46:55
【问题描述】:
我需要用这样的动态数组键解析 json:
[{ key1:{ 标题: ....., 图:……, },键2:{ 标题: ....., 图:……, }, }]
我知道如何解析这样的 json:
[ {标题:.....,nbLike:...}, {标题:....,nbLike:...} ]
但我没有找到任何关于使用这样的动态键解析 json 的信息。
我试过了,但是没用。
class Event {
final String title;
final int nbLike;
Event({this.title, this.nbLike});
factory Event.fromJson(Map<String, dynamic> json) {
return Event(
title: json['title'] as String,
nbLike: json['nbLike'] as int,
);
}
}
Future<List<Event>> fetchPosts(http.Client client) async {
final response = '[{"2019-01-15":{"title":"Hey","nbLike":1}, "2019-01-
16":{"title":"Hey2","nbLike":2}}]';
return compute(parsePosts, response);
}
List<Event> parsePosts(String responseBody) {
List<Event> events = new List<Event>();
List jsonParsed = json.decode(responseBody.toString());
for (int i = 0; i < jsonParsed.length; i++) {
print('jsonParsed1 ${jsonParsed.length}');
print('jsonParsed ${jsonParsed[i]}');
events.add(new Event.fromJson(jsonParsed[i]));
}
return events;
}
我从 API 收到带有密钥的 json,我想将它转换成这个
[{title: .....,nbLike: ...},{title: ...., nbLike: ...}]
创建一个“事件”列表并将其显示在卡片列表中。
【问题讨论】: