gpt4 book ai didi

java - 我想把 AsyncTask 放到外面。在任务数据中

转载 作者:太空宇宙 更新时间:2023-11-04 11:27:42 24 4
gpt4 key购买 nike

我的代码是:

public String search ="hello";

public void WeatherSearch() {
new GeneralAPI(new OnCompletionListener() {
@Override
public void onComplete(String result) {
try {
JSONObject jObj = new JSONObject(result);
JSONObject cord = null;

cord = jObj.getJSONObject("coord");
JSONObject main = jObj.getJSONObject("main");

main.getString("temp");

JSONArray weathers = jObj.getJSONArray("weather");
JSONObject weather = weathers.getJSONObject(0);

String icon = weather.getString("icon");

search = weather.getString("description");
System.out.println(search);
} catch (JSONException e) {
e.printStackTrace();
}
}
}).execute("http://api.openweathermap.org/data/2.5/weather?lat=37.276101&lon=127.130824&APPID=52411ebbc405b9763828164dda220d19");
System.out.println(" ㅇㅇ " +search);
}

仅搜索打印、搜索 -> 晴朗天空等...但是ㅇㅇ + 搜索 print -> 你好...

但我想获得晴空数据。

我正在尝试 execute().get() 但结果是相同的。

最佳答案

查看你的 json:

"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}]

weather 没有属性描述,列表中的对象有属性描述,因此,您必须获取 weather json 对象的第一个元素,然后执行 .getString("description")

weathers.getJSONObject(0); is wrong, because it takes an String:

getJSONObject(String name) Returns the value mapped by name if it exists and is a JSONObject, or throws otherwise.

Documentation here

在简历中,您必须获取列表的第一个值,然后获取属性描述

resume

你应该这样做:

JSONObject weather = weathers.getJSONObject(FIRST_ELEMENT);

而不是这样做:

JSONObject weather = weathers.getJSONObject(0);

关于java - 我想把 AsyncTask 放到外面。在任务数据中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44164708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com