flutter - Flutter从没有键的json数组生成类
问题描述
这是我的服务器响应的简单部分:
"people_data": {
"user": {
"pk": "9917615035",
"auto_expand_chaining": false,
"highlight_reshare_disabled": false
},
"status": "ok"
},
"feeds": [
{
"taken_at": "1555388336",
"pk": "00000"
}
]
如您所见feeds
,这是一个没有键的 json 数组,我正在尝试创建feeds
类来处理这些数据,但我做不到
例如:
class PageInfo {
PeopleData peopleData;
Feeds feeds;
}
class Feeds {
String taken_at;
String pk;
}
Feeds
这里的课程不正确
解决方案
您有两种选择:
1.创建一个包装器对象,它将接收您在此处发布的整个 json。像这样:
class Feed {
final String takenAt;
final String pk;
Feed(this.takenAt, this.pk);
factory Feed.fromJson(Map<String, dynamic> json) {
return Feed(json["taken_at"], json["pk"]);
}
}
class FeedsList {
final List<Feed> feeds;
FeedsList(this.feeds);
factory FeedsList.fromJson(Map<String, dynamic> json) {
return FeedsList(
List.from(json["feeds"]).map((object) => Feed.fromJson(object)));
}
}
2.或者在你解析 JSON 的地方做这样的事情:
List<Feed> list = List.from(json["feeds"]).map((object) => Feed.fromJson(object))
推荐阅读
- for-loop - 在 Y86 中嵌套 for 循环
- angular - Angular 中的 Async/await 或 Observable
- javascript - 在使用 jquery 验证器对不在表单标签中的按钮进行验证后提交表单
- java - 如何忽略附加到单词的标点符号和符号,以便在考虑字数时将它们都视为相同?
- symfony - 默认注释路由有效,但其他路由无效 - Symfony 4.2
- python-2.7 - 如何在漂亮表中写数学符号?
- lodash - Lodash 组
- unit-testing - 关于 POST 方法的空手道测试用例的问题
- javascript - TypeError: PF(...).hide 不是函数
- angular - 将 ngStyle 绑定到指令的动态 ElementRef