因為需要使用到網路請求,所以需要先加入權限。
在 AndroidManifest.xml 中加入
<uses-permission android:name="android.permission.INTERNET"/>
關於權限可參考 Day 3 內容
一種純字串類型的格式,有特定的格式來儲存資料。
因為是純字串類型的格式,所以可以方便的用來與其他程式溝通或交換資料,
網路請求常常就是使用 JSON 格式來傳遞資料。
JSONObject
一種 Key 對 Value 的格式,最外面會用大括號{}括起來
{ Key: Value, Key2: Value2, ...}
例如
{"name": "Aria", "num": 1000, "list": [1,2,3,4,5]}
// [1,2,3,4,5] 為 JSONArray
實例出一個 JSONObject
val json : String = "{"name": "Aria", "num": 1000}"
val jsonObject = JSONObject(json)
put
將一組 Key - Value 格式的資料加入已實例出來的 JSONObject 中
put (Key, Value)
val jsonObject = JSONObject()
jsonObject.put("name", "Aria")
取出 JSONObject 中的資料,透過 Key 取得相對應的 Value
get (name: String)
jsonObject.get("name")
若已知指定的 Key 取出的值是什麼類型,可用:
JSONArray
陣列格式,最外面會用中括號 [ ] 括起來
[ Value1, Value2, Value3, Value4, Value5]
Value 可為多種類型,例如:
[{"name": "Aria", "num": 1000}, {"time": "11/04", "location": "Taiwan"}]
[1,2,3,4,5]
["aaaaa", "bbbbb", "ccccc"]
實例出一個 JSONArray
val strArray : String = "[1,2,3,4,5]"
val jsonArray = JSONArray (strArray)
put
put (value)
將 value 加入 JSONArray 的最後一個位置
val jsonArray = JSONArray()
jsonArray.put(0)
put (index: Int, value)
將 value 加入 JSONArray 的指定位置
index:想放置的位置
value:想放置的值,類型可為各種可放在 JSONArray 的格式
val jsonArray = JSONArray()
jsonArray.put(0, "aaaaa")
jsonArray.put(1, "bbbbb")
get
取出 JSONArray 中的資料,透過位置取得相對應的 Value
get (index: Int)
jsonObject.get(0) //取得 JSONArray 中 0 這個位置的值
若已知取出的值是什麼類型,可用:
Android
Kotlin
JSON