arrays - Openweathermap API Forecast 访问数组
问题描述
所以我试图弄乱openweathermap API,但我不知道如何访问一些数据。
这是我可以访问 API 的代码片段。
public void find_forecast () {
String url = "http://api.openweathermap.org/data/2.5/forecast?id=4466033&appid=e4c641dd837c7947a127972091185dad&units=imperial";
JsonObjectRequest jor = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONArray array = response.getJSONArray("list");
JSONObject object = array.getJSONObject(1);
String description = object.getString("dt");
day1.setText(description);
以下是 API 代码片段:
{
"cod": "200",
"message": 0.0042,
"cnt": 40,
"list": [
{
"dt": 1524614400,
"main": {
"temp": 63.77,
"temp_min": 63.77,
"temp_max": 64.26,
"pressure": 1017.45,
"sea_level": 1021.4,
"grnd_level": 1017.45,
"humidity": 97,
"temp_kf": -0.27
},
"weather": [
{
"id": 500,
"main": "Rain",
"description": "light rain",
"icon": "10n"
}
],
如您所见,上面的代码将返回 dt 的值,即 1524614400。但我试图访问例如在“天气”下的“描述”,在这种情况下是小雨。我想我不知道如何访问数组中的数组,尽管我什至无法让“temp”在“main”下返回,尽管我可以让“main”返回它下面的所有内容。
谢谢你的帮助。
最大限度
解决方案
我终于想通了。代码如下!
String array = response.getJSONArray("list").getJSONObject(0).getJSONArray("weather").getJSONObject(0).getString("description");
day1.setText(array);
这将从上面的 API 代码返回小雨。
推荐阅读
- sql - 监控谁在写表
- reactjs - React-native-windows、ellipsizeMode 和 numberOfLines
- python - 为 ARIMA 模型计算 MAE 和 RMSE 的问题
- go - 为什么 kubetest 没有按照说明安装?
- ios - Xcode:同时在同一台服务器上构建两个应用程序
- javascript - 如果用户正在使用手机,则隐藏某些元素,提供按钮以使元素重新出现
- mongodb - 在 mac os 10.15 for php7 上安装 mongodb
- android - 如何从 viewpager 的片段中的 sqlite 检索一行?
- dotnetnuke - 没有堆栈跟踪的 DNN PageLoadException
- python - Python:你能动态获取函数要返回的变量数量吗?