Android工作室JSON获取数据

Android Studio JSON obtain data

我正在使用此 API 作为获取 JSON API 数据的测试。我知道如何获取“列表”中值“grnd_level”之一的数据。

这是我用来获取“grnd_level”值的代码:

val weatherArray = forecastJson.getJSONArray("list")
            for (i in 0 until weatherArray.length())
            {
                val grndlevel: Int

                val dayForecast = weatherArray.getJSONObject(i)

                val temperatureObject = dayForecast.getJSONObject("main")
                 grndlevel = temperatureObject.getInt("grnd_level")

但是我不知道如何获取"city"中"name"的值 对此非常陌生,因此将不胜感激任何基本帮助。

这是 API JSON 的图像: API Image

根对象是 forecastJson,您将从中获取 list 数组。 city 对象与 list 数组处于同一级别,因此您也可以从 forecastJson 获取 city 对象:

val city = forecastJson.getJSONObject("city")

然后name

val name = city.getString("name")

忘记使用 getJSONArray 和 getJSONObject。 我认为使用 Kotlin 序列化更好:

    val data = Project() 
    val string = Json.encodeToString(data)  
    


    // Deserializing back into objects
    val obj = Json.decodeFromString<Project>(string)
    
   

你可以了解一下here。 当您使用此策略时,您可以提高代码的可读性,并且可以更好地访问属性。