gpt4 book ai didi

javascript - 天气 API 和 JSON

转载 作者:行者123 更新时间:2023-12-02 14:15:30 27 4
gpt4 key购买 nike

所以,我正在尝试使用 Open Weather API:http://openweathermap.org/current

这是我的 JavaScript 代码:

$(document).ready(function() {



if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
$(".ok").html("latitude: " + position.coords.latitude + "<br>longitude: " + position.coords.longitude);
var ur="http://api.openweathermap.org/data/2.5/weather?lat="+position.coords.latitude+"&lon="+position.coords.longitude+"&appid=18c7e2b6b0150a8f1d2c6b946e065697";
$.getJSON(ur, function(json) {
$(".ok2").html(JSON.stringify(json));


alert(json.weather[main]);

});

});
}
});

这是预期的输出:

{"coord":{"lon":139,"lat":35},
"sys":{"country":"JP","sunrise":1369769524,"sunset":1369821049},
"weather":[{"id":804,"main":"clouds","description":"overcast clouds","icon":"04n"}],
"main":{"temp":289.5,"humidity":89,"pressure":1013,"temp_min":287.04,"temp_max":292.04},
"wind":{"speed":7.31,"deg":187.002},
"rain":{"3h":0},
"clouds":{"all":92},
"dt":1369824698,
"id":1851632,
"name":"Shuzenji",
"cod":200}


输出在我的测试页面中正确显示,但alert(json.weather[main]);不起作用,我想知道如何访问 JSON 对象的特定键。例如,如果我想访问 id 不应该为我执行以下操作: json.id; ?

最佳答案

json.weather 是一个数组:

json.weather = [{"id":804,"main":"clouds","description":"overcast clouds","icon":"04n"}]

数组是一个容器对象,它在 Javascript 中保存多种类型的多个值,要访问这些值,您必须指定 Integer 索引。

json.weather[0] = {"id":804,"main":"clouds","description":"overcast clouds","icon":"04n"}

json.weather[0] 是一个 Javascript 对象,您必须指定属性名称,您可以通过两种方式访问​​属性:

  • jsonObject["属性名称"]
  • jsonObject.propertyName

所以

只需更改此:

alert(json.weather[main]);

与:

alert(json.weather[0].main);

关于javascript - 天气 API 和 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39069123/

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