Парсинг JSON без объекта (Kotlin)

Друзья, добрый день!

Простите, пожалуйста, за нубский вопрос: я ещё новичок в Android/Kotlin.

Есть RecyclerView, в который парсится JSON, имеющий следующий формат:

{
  "episodes": [
    {
      "id": 1,
      "pub_date": "2024-06-10",
      "title": "test",
      "description": "test test test",
      "mave_link": "http://example.com",
      "youtube_link": "http://example.com",
      "audio_file": null
    },
    {
      "id": 2,
      "pub_date": "2024-06-10",
      "title": "test",
      "description": "test test test",
      "mave_link": "http://example.com",
      "youtube_link": "http://example.com",
      "audio_file": null
    },
  ]
}

Тем не менее, API, с которым должно работать моё приложение, рендерит JSON так:

[
  {
    "id": 1,
    "pub_date": "2024-06-12",
    "title": "test",
    "description": "test test test",
    "mave_link": "http://example.com",
    "youtube_link": "http://example.com",
    "audio_file": null
  },
  {
    "id": 2,
    "pub_date": "2024-06-12",
    "title": "test",
    "description": "test test test",
    "mave_link": "http://example.com",
    "youtube_link": "http://example.com",
    "audio_file": null
  }
]

Вот фрагмент кода Activity с RecyclerView:

    val list = ArrayList<ListItem>()

    try {
        val obj = JSONObject(loadJSONFromAsset())
        val episodeArray = obj.getJSONArray("episodes")
        for (i in 0 until episodeArray.length()) {
            val episodeDetails = episodeArray.getJSONObject(i)
            list.add(
                ListItem(
                    episodeDetails.getString("pub_date"),
                    episodeDetails.getString("title"),
                    episodeDetails.getString("description"),
                    episodeDetails.getString("youtube_link")
                )
            )
        }
    } catch (e: JSONException) {
        e.printStackTrace()
    }

    val rcView = findViewById<RecyclerView>(R.id.rv_content)
    rcView.layoutManager = LinearLayoutManager(this)
    rcView.adapter = MyAdapter(list, this)

Как сделать так, чтобы JSON парсился без объекта "episodes", которого нет во втором варианте?


Ответы (0 шт):