已經介紹過抓 csv,抓 xml的資料,我的進度終於來到抓 json的這一部份,先來試做一下。
記錄一下:
App Inventor學習記錄208~拆解 JSON資料試作
這次範例的完成品如下。

先取得全部的資料,再把資料轉成 JSON的格式。
拆出的資料有 1036筆,我們再從這些資中,找出我們要的資料。
畫面編排的部份如下。

全部的程式方塊如下。


建立全部的資料、轉 json_decode這兩個變數。
建立空清單,全部的區轉清單。

程式初始化的時候,call web 1.get呼叫網路元件取得資料。

when web1.got text當網路元件取得資料之後。
把變數全部的資料,設定成 get response content取得的內容。
這次要從下面的這個網址去取得資料。
https://tcgbusfs.blob.core.windows.net/dotapp/youbike/v2/youbike_immediate.json
我們看到網址的最後面是 json結尾,所以這個格式是 json。
所以在這裡,就把變數_轉 json_decode的值,用 call web1.jsontextdecode把全部的資料轉成 json的格式。

設定標籤 1的文字為變數_全部的資料。

把標籤 1的文字顯示成轉成 json格式的資料。
上面這個按鈕按下後就是下面紅框的地方。


判斷文字輸入盒 1是不是空白,而且數字不超過清單的總長度,超過總長度會產生錯誤。
所以用 length of list清單方塊,找出清單的長度,再用數學方塊加入小於的條件。
在資料轉成 json的格式之後,我們取得的是一個清單。所以我們就可以用 select list item清單方塊來取值。取得的值就像下面的這張圖。


從上面這裡圖看的出來,第一層的取得值也是一個清單。
所以同樣的用 select list item清單方塊去取下一層的值。
結果如下:


很明顯的,這次抓 json資料我寫的很含糊。
當然,不是我想藏私,而是我功力不足,用的也不熟……
之後如果我用的熟一點的話,再來做進一步的介紹。
之前介紹過的一些 appinventor的使用記錄,都整理在下面這個頁面上了。
APP INVENTOR學習記錄及資源整理頁面