Flutter 手動(dòng)json轉(zhuǎn)化之后強(qiáng)制類型轉(zhuǎn)化

GitHub地址

手動(dòng)json轉(zhuǎn)化之后強(qiáng)制類型轉(zhuǎn)化

{
    "rating": {
        "max": 10,
        "average": 7.4,
        "stars": "40",
        "min": 0
    },
    "reviews_count": 301,
    "wish_count": 15912,
    "douban_site": "",
    "year": "2009",
    "images": {
        "small": "https://img1.doubanio.com/view/photo/s_ratio_poster/public/p494268647.jpg",
        "large": "https://img1.doubanio.com/view/photo/s_ratio_poster/public/p494268647.jpg",
        "medium": "https://img1.doubanio.com/view/photo/s_ratio_poster/public/p494268647.jpg"
    },
    "alt": "https://movie.douban.com/subject/1764796/",
    "id": "1764796",
    "mobile_url": "https://movie.douban.com/subject/1764796/mobile",
    "title": "機(jī)器人9號(hào)",
    "do_count": null,
    "share_url": "https://m.douban.com/movie/subject/1764796",
    "seasons_count": null,
    "schedule_url": "",
    "episodes_count": null,
    "countries": [
        "美國(guó)"
    ],
    "genres": [
        "動(dòng)畫",
        "冒險(xiǎn)",
        "奇幻"
    ],
    "collect_count": 74934,
    "casts": [
        {
            "alt": "https://movie.douban.com/celebrity/1054395/",
            "avatars": {
                "small": "https://img1.doubanio.com/view/celebrity/s_ratio_celebrity/public/p51597.jpg",
                "large": "https://img1.doubanio.com/view/celebrity/s_ratio_celebrity/public/p51597.jpg",
                "medium": "https://img1.doubanio.com/view/celebrity/s_ratio_celebrity/public/p51597.jpg"
            },
            "name": "伊萊賈·伍德",
            "id": "1054395"
        },
        {
            "alt": "https://movie.douban.com/celebrity/1016673/",
            "avatars": {
                "small": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p33305.jpg",
                "large": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p33305.jpg",
                "medium": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p33305.jpg"
            },
            "name": "詹妮弗·康納利",
            "id": "1016673"
        },
        {
            "alt": "https://movie.douban.com/celebrity/1017907/",
            "avatars": {
                "small": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p55994.jpg",
                "large": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p55994.jpg",
                "medium": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p55994.jpg"
            },
            "name": "約翰·C·賴?yán)?,
            "id": "1017907"
        },
        {
            "alt": "https://movie.douban.com/celebrity/1036321/",
            "avatars": {
                "small": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p42033.jpg",
                "large": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p42033.jpg",
                "medium": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p42033.jpg"
            },
            "name": "克里斯托弗·普盧默",
            "id": "1036321"
        }
    ],
    "current_season": null,
    "original_title": "9",
    "summary": "機(jī)器人9號(hào)(伊利亞?伍德 Elijah Wood 飾)突然醒來(lái),發(fā)現(xiàn)身邊的世界充滿危機(jī),四處殘敗,一片末世景象。9號(hào)帶著一個(gè)畫有三個(gè)奇怪符號(hào)的圓形物體逃到街上,幸遇發(fā)明家機(jī)器人2號(hào)(馬丁?蘭道 Martin Landau 飾)給自己裝上了聲音,但2號(hào)卻不幸被機(jī)器怪獸抓走。9號(hào)找到了老兵1號(hào)(克里斯托弗?普盧默 Christopher Plummer 飾)、機(jī)械工5號(hào)(約翰?雷利 John C. Reilly 飾)、瘋癲畫家6號(hào)(克里斯品?格拉夫 Crispin Glover 飾)和大力士8號(hào)(弗雷德?塔塔紹爾 Fred Tatasciore 飾)。9號(hào)與5號(hào)擅自出行援救2號(hào),危急時(shí)被女武士7號(hào)(詹妮佛?康納利 Jennifer Connelly 飾)救下,但無(wú)意中9號(hào)卻令終極機(jī)器獸復(fù)活。帶著自己從哪里來(lái)以及生存使命的問(wèn)題,9號(hào)決定想盡辦法制服機(jī)器獸,拯救全世界……?豆瓣",
    "subtype": "movie",
    "directors": [
        {
            "alt": "https://movie.douban.com/celebrity/1276787/",
            "avatars": {
                "small": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1351678808.44.jpg",
                "large": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1351678808.44.jpg",
                "medium": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1351678808.44.jpg"
            },
            "name": "申·阿克",
            "id": "1276787"
        }
    ],
    "comments_count": 9193,
    "ratings_count": 60293,
    "aka": [
        "9:末世決戰(zhàn)",
        "九",
        "Number 9",
        "機(jī)器人9號(hào)"
    ]
}

轉(zhuǎn)化為Map數(shù)組

 List<Widget> casts = snap.data['casts']
            .cast<Map<String, dynamic>>()
            .map<Widget>((item) => new Column(
                  children: <Widget>[
                    new Image.network(item['avatars']['small']),
                    new Text(item['name'])
                  ],
                ))
            .toList();
拆解步驟
1. 先進(jìn)行類型轉(zhuǎn)換
2. 使用map 方法遍歷返回Iteration
    map<Widget>((item){
        return Widget
    }) 或者
    map<Widget>((item)=> new Widget)
    
3. 將Iteration轉(zhuǎn)化為L(zhǎng)ist<Widget>
    iteraInstance.toList()

轉(zhuǎn)化為L(zhǎng)ist<String>遍歷

    snap.data['genres'].cast<String>().map<Widget>((item) {
                            return new Text(
                              ' ${item} ',
                              style: new TextStyle(
                                  color: Colors.green,
                                  fontWeight: FontWeight.w100,
                                  fontSize: 18.0),
                            );
                          }).toList()
步驟同上只是這次轉(zhuǎn)為cast<String>()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,616評(píng)論 19 139
  • 對(duì)象的創(chuàng)建與銷毀 Item 1: 使用static工廠方法,而不是構(gòu)造函數(shù)創(chuàng)建對(duì)象:僅僅是創(chuàng)建對(duì)象的方法,并非Fa...
    孫小磊閱讀 2,185評(píng)論 0 3
  • 昨天又來(lái)到這座城市,曾經(jīng)你在這座城市念完你的大學(xué)。曾經(jīng)我來(lái)這座城市看你,你陪我去那最繁華的街市,你陪我吃遍美食。 ...
    洛青川閱讀 623評(píng)論 0 1
  • 每次回來(lái) 心里想到的還是你 和你聊天 都會(huì)流淚 今天路過(guò)你們家門口 心里堵的很 媽媽在開(kāi)車 我在偷偷的抹眼淚 太感性了
    yzi099閱讀 167評(píng)論 0 0
  • 昨天朋友圈看到了一篇,關(guān)于如何練習(xí)寫作的文章,報(bào)名費(fèi)199,學(xué)習(xí)21天,說(shuō)實(shí)話本來(lái)都已經(jīng)快要放棄寫作的我,內(nèi)心又澎...
    一言二語(yǔ)閱讀 546評(píng)論 9 4

友情鏈接更多精彩內(nèi)容