I have this JSON in Kotlin, and I'm not able to fetch and parse. Any quick help. Please.

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

```

Here are my data classes:

```
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) {}

```

Here is my JSON API interface:

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

```

Here is my RestAPI:

```
class RestAPI(val api: Api) {

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

```

Here is my RestAPI call:

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

```