昨天是講如何透過API跟後端溝通
requset後一定是為了拿到response
如果拿到了要幹嘛?
當然是轉成物件來用啊絕對不是有Map Object的話就拿來直接用
雖然Android有提供JSONObject來做到序列化/反序列化的功能
但今天還是來介紹另外一個有名的套件:Gson
(Gson也是我看過第一個有維基百科的套件....)

一行打完收工{
    "Search": [
        {
            "Title": "Peeping Tom",
            "Year": "1960",
            "imdbID": "tt0054167",
            "Type": "movie",
            "Poster": "https://m.media-amazon.com/images/M/MV5BZjM3ZTAzZDYtZmFjZS00YmQ1LWJlOWEtN2I4MDRmYzY5YmRlL2ltYWdlXkEyXkFqcGdeQXVyMjgyNjk3MzE@._V1_SX300.jpg"
        },
        {
            "Title": "Tom and Jerry: The Magic Ring",
            "Year": "2001",
            "imdbID": "tt0303151",
            "Type": "movie",
            "Poster": "https://m.media-amazon.com/images/M/MV5BODg3OTMzNzU5N15BMl5BanBnXkFtZTgwNzQ3NTAwNzE@._V1_SX300.jpg"
        }
    ],
    "totalResults": "632",
    "Response": "True"
}
所以我們就拆成Result跟Movie兩層Model
這是很常見的結構
3. 再來是一個很常見的狀況,後端的命名跟我們想要的不一樣怎麼辦?當然是叫後端改啊
只要Model Class屬性的上一行加上後端的名稱即可
    @SerializedName("Search")
    public List<Movie> movieList;
JsonObject.class去餵給fromJson(注意不是大寫JSONObject喔)
習慣Swift寫法馬上初始化的應該會中標,可以注意一下可以去 https://github.com/mark33699/IDLA 看一下順便給顆⭐️
如果你喜歡我的影片別忘了按讚分享加訂閱,開啟紅色的小鈴鐺,我們明天見~