You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dart中将Reddit API返回的帖子转换为对象列表?

问题

我需要从Reddit API获取帖子,帖子数据在children节点下,但每个子对象内部还嵌套了另一个data对象。我能处理简单的JSON解析,但这种深度嵌套的结构让我困惑,求帮忙写一个把给定JSON转换成Dart对象列表的函数。

给定的JSON字符串:

{
    "kind": "Listing",
    "data": {
        "after": "t3_zzzhq4",
        "dist": 2,
        "children": [
            {
                "kind": "t3",
                "data": {
                    
                    "selftext": "blablabla",
                    "author_fullname": "3xblabla",
                    "title": "moreblabla",
                    "created": 1672515982,
                    "id": "10020p0"
                }
            },
            {
                "kind": "t3",
                "data": {
                    "selftext": "blablabla",
                    "author_fullname": "3xblabla",
                    "title": "moreblabla",
                    "created": 1672515982,
                    "id": "10020p0"
                }
            }
        ],
        "before": null
    }
}
解决方案
  • 第一步:使用JSON转Dart类的工具,将上述JSON字符串粘贴进去,生成对应的Dart实体类(比如包含selftext、author_fullname等字段的Post类,以及配套的fromJson构造方法)。
  • 第二步:解码JSON字符串:
final jsonResponse = json.decode(jsonString);
  • 第三步:从嵌套结构中提取并反序列化帖子数据,核心是要访问每个children元素里的data节点:
List<Post> postsList = jsonResponse['data']['children']
    .map((child) => Post.fromJson(child['data']))
    .toList();

关键就是child['data']这一步,通过它才能正确获取到每个帖子的实际数据并完成反序列化,希望能帮到有同样问题的人。

内容的提问来源于stack exchange,提问作者inchillout

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 07:31:06