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。
当您使用此策略时,您可以提高代码的可读性,并且可以更好地访问属性。
我正在使用此 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。 当您使用此策略时,您可以提高代码的可读性,并且可以更好地访问属性。