Jsonの扱いメモ
下みたいなやつだとJSONArrayですぐとれる。
[
{
"name": "yz",
"age": "24"
},
{
"name": "yz2",
"age": "810"
}
]ただtry~catchを使わないといけなのがめんどくさい。
_strが上のJsonファイルの文字列とする。
あとは何回もtryやるのがめんどくさいのでdata classのリストとかにぶちこむ。
val jsonArray = JSONArray(_str)
for(i in 0 until jsonArray.length()){
var jsonData = jsonArray.getJSONObject(i)
var login = jsonData.getString("name")
var id = jsonData.getString("age")
Log.d("Check","$login,$id")
}
Log.d("Count","${_contributors?.size}")
}catch(e:JSONException){
e.printStackTrace()
}
下のやつみたいなタイプだともう一個上にJSONObjectがいる。
getJsonArrayとかgetJsonObjectにはstringが必要。stringがないと怒られる(当然)
{
"sample":[
{
"name": "yz",
"age": "24"
},
{
"name": "yz2",
"age": "810"
}
]
}二回もJSONOject使うのか.....。
val jsonObject = JSONObject(_str)
val jsonArray = JsonObject.getJSONArray("sample")
for(i in 0 until jsonArray.length()){
var jsonData = jsonArray.getJSONObject(i)
var login = jsonData.getString("name")
var id = jsonData.getString("age")
Log.d("Check","$login,$id")
}
Log.d("Count","${_contributors?.size}")
}catch(e:JSONException){
e.printStackTrace()
}