私はこのJSONをKotlinに持っています。私は取得して解析することができません。どんなクイックヘルプ。お願いします。ここでKotlin Json Parser
[{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) {}
は私のJSONのAPIインタフェースである:ここで
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 {
[email protected] = 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)
}
される文字列のですか?可能であれば、スタックトレースを投稿してください。 –
あなたはどのパーサーを使用していますか? –
@ Miha_x64彼はMoshiを使用しています。最後のコードスニペットを参照してください: '.addConverterFactory(MoshiConverterFactory.create())' –