AndroidStudio:Kotlin Jsonの使いかたメモ

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()
            }

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA