Java API OpenWeatherMap



我不久前就开始学习Java,并考虑做我的第一个高级项目。我想创建一个程序,使用OpenWeatherMap API来显示特定城市的天气。

  1. 用户输入城市名称
  2. 城市存储为变量
  3. 使用城市变量调用API
  4. 商店结果有两个变量(城市和温度(
  5. 使用System.out.Println(城市,温度(显示结果

我在开始之前做了一些阅读,我看到有人说将api结果存储在变量中是不好的做法?出发前只是检查一下我走的路是否正确?

以下是API结果的示例

{"coord":{"lon":-0.13,"lat":51.51},"weather":[{"id":300,"main":"Drizzle","description":"light intensity drizzle","icon":"09d"}],"base":"stations","main":{"temp":280.32,"pressure":1012,"humidity":81,"temp_min":279.15,"temp_max":281.15},"visibility":10000,"wind":{"speed":4.1,"deg":80},"clouds":{"all":90},"dt":1485789600,"sys":{"type":1,"id":5091,"message":0.0103,"country":"GB","sunrise":1485762037,"sunset":1485794875},"id":2643743,"name":"London","cod":200}

不确定为什么将数据存储在变量中是一种糟糕的做法。另一种选择是链式方法。例如:

String cityResult = callApi(city);
JSON jsonCityResult = JSON.parse(cityResult);
print(jsonCityResult.temp);

它将是:

print(JSON.parse(callApi(city)).temp);

它很难阅读,很难维护,也很难找出问题所在。是api调用还是JSON解析?

只要代码是"自文档化的",即cityResult而不是cr,我认为这是完美的可接受编程。

最新更新