Kotlin Json Parser

У меня этот JSON в Котлине, и я не могу его забрать и разобрать. Любая быстрая помощь. Пожалуйста.

[{platform: {name: "mena-web",publishingRegion: "mena",platformGroup:"web",id: 2,countryCode: "AE",locales: {locale:["en_US","ar_AE"]}}}] 

Вот мои классы данных:

 data class Locales(var locale: ArrayList<String>) {} data class Platform(var name: String, var publishingRegion: String, var platformGroup: String, var id: Int, var countryCode: String, var locales: Locales) {} data class Json(var platform: Platform) {} 

Вот мой интерфейс API JSON:

 interface Api { @GET("/me.json2") fun getGeo(callback: Callback<List<Json>>): Call<List<Json>> } 

Вот мой RestAPI:

 class RestAPI(val api: Api) { fun getNews(callback: Callback<List<Json>>) { val call = api.getGeo(callback) call.enqueue(callback) } } 

Вот мой вызов RestAPI:

 try { val api: RestAPI val retrofit = Retrofit.Builder() .baseUrl(PLATEFORM_URL) .addConverterFactory(MoshiConverterFactory.create()) .build() api = retrofit.create(RestApi::class.java) val callback = object : Callback<List<Json>> { override fun onResponse(call: Call<List<Json>>?, response: retrofit2.Response<List<Json>>?) { response?.isSuccessful.let { this@MainActivity.photos = response?.body() } } override fun onFailure(call: Call<List<Json>>?, t: Throwable?) { Log.e("MainActivity", "Problems calling API", t) } } api.getGeo(callback) // Log.e("Message", test.getNews().toList().toString()) } catch(e:Exception){ Log.e("Message", e.message) } 

Спасибо, парни! Я нашел ответ, все stat работает после смены синтаксического анализатора

MoshiConverterFactory для GsonConverterFactory.

respones – это строка, которая будет вашим jsonResponse

 try { val rootArray = JSONArray(respones) val mainObject=rootArray.getJSONObject(0) val platformObject=mainObject.getJSONObject("platform") val name=platformObject.getString("name") val publishingRegion=platformObject.getString("publishingRegion") val platformGroup=platformObject.getString("platformGroup") val id=platformObject.getInt("id") val countryCode=platformObject.getString("countryCode") val localesObj=platformObject.getJSONObject("locales") val localeArray=locales.getJSONArray("locale") val stringOne=localeArray.getString(0) val stringTwo=localeArray.getString(1) } catch (e: JSONException){}