【问题标题】:Can't get temperature from Openweathermap API无法从 Openweathermap API 获取温度
【发布时间】:2018-08-22 03:52:46
【问题描述】:

我正在尝试从以下 JSON 中获取临时变量:

"weather": [
        {
            "id": 500,
            "main": "Rain",
            "description": "light rain",
            "icon": "10n"
        },
],
"main": {
        "temp": 273.15,
        "pressure": 992,
        "humidity": 97,
        "temp_min": 273.15,
        "temp_max": 273.15
    },

我可以使用 JavaScript 获取天气值:

 function print(xxx){
  var value = "";
    for(var i = 0;i < result.weather.length;i++){
    value += result.weather[i].main "<br/>";
    }

如果我尝试这样获得温度:

function print(xxx){
  var value = "";
    for(var i = 0;i < result.main.length;i++){
    value += result.main[i].temp "<br/>";
    }

我什么也得不到。没有错误或值。

【问题讨论】:

    标签: javascript php json openweathermap


    【解决方案1】:

    区别在于您查看的数据类型。 weather 是一个数组。这就是您使用 for 循环遍历数组中每个项目的原因。

    main 只是一个对象。没有什么可以迭代的。它甚至没有length 属性。

    所以要访问main,完全忘记for 循环。直接访问即可。

    value += result.main.temp + "<br />";
    

    【讨论】:

    • 谢谢!其实我也想过这个,甚至尝试过,但显然是犯了错误,因为这是正确的。
    猜你喜欢
    • 2016-08-30
    • 1970-01-01
    • 2018-01-11
    • 1970-01-01
    • 2016-05-06
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    相关资源
    最近更新 更多