【问题标题】:NAN returned when extracting number from JSON从 JSON 中提取数字时返回 NAN
【发布时间】:2012-02-10 05:57:07
【问题描述】:

我的代码中出现了一个非常奇怪的错误。我正在建立一个天气预报网站,它使用地理位置来查找您居住的城市,然后使用 wunderground 的 API 为您提供预报。问题是,当您使用搜索框手动搜索城市时,预测温度会以 NAN 形式返回,但当它使用您的坐标时,它会正确返回。我不知道为什么会这样。

我在 JSBIN 上发布了所有代码:http://jsbin.com/agigeb/edit#javascript

我认为这可能与我如何从它所在的字符串中提取温度有关(我不使用它提供的整数温度,因为它不提供根据一天中的时间而变化的整数温度,例如,如果是早上,则返回下午的预报,如果是晚上,则返回第二天早上的预报)

该部分发布在此 JSBIN 上:http://jsbin.com/etupun/edit#javascript

提前感谢您的帮助, 杰克。

【问题讨论】:

  • 手动搜索时是否返回所有其他信息?
  • 是的,我将发布我的网站,可能更有意义,但由于我使用的是免费帐户,因此我已经超过了 API 使用限制。 jakechampion.de.nu

标签: javascript jquery json nan


【解决方案1】:

如果您查看从这两个请求返回的 JSON,您可以看到发生了什么:

http://api.wunderground.com/api/50ada0a5f0afbaec/geolookup/conditions/forecast/q/30301.json

http://api.wunderground.com/api/50ada0a5f0afbaec/geolookup/conditions/forecast/q/atlanta.json

后面的查询使用文本搜索字符串返回一个可能匹配的数组,而不是像 zip 或 lat/long 搜索那样的单个预测。

您可以使用该“结果”数组中的一项中的“zmw”值来检索该单个城市的预测。

【讨论】:

  • 这是我发现的另一个问题,我不知道如何在搜索框上创建类似自动完成的服务,提示您所指的城市,然后在查询中发送相应的 zmw去地下城。考虑到这一点,当 wunderground 被发送一个“正确”的查询返回所需的完整 json 时,它仍然会错误地解析它并产生一个 NAN。她是我的网站,所以你可以明白我的意思。 jakechampion.de.nu 如果您手动搜索并输入 uk/oxford,您将看到它返回 NAN 作为预测。
猜你喜欢
  • 2018-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-10
  • 1970-01-01
  • 1970-01-01
  • 2015-11-26
  • 2016-07-05
相关资源
最近更新 更多