私は、JSONデータの応答であるgeonamesのAPIを取得しようとしています。 私はdataStorageオブジェクトを作成し、その中にレスポンスを入れます。 現在、格納オブジェクトから値を取得するときに問題があります。ここでオブジェクトへのjsonレスポンスを格納するので、オブジェクトから値を取得することができます
が私のコードです:
var dataStorage = new Object();
function CountryQuery(geoId, geoCode) {
$.ajax({
type: "GET",
url: "http://api.geonames.org/childrenJSON?geonameId=" + geoId + "&username=tompi",
dataType: "json",
success: function(data) {
dataStorage[geoCode] = data;
}
});
}
if (!('AN' in dataStorage)) {
CountryQuery(6255152, "AN");
}
$(dataStorage).find('AN').geonames.countryName;
JSON応答は以下のようになります:
{
"totalResultsCount":2,
"geonames":[
{
"countryId":"6697173",
"countryCode":"AQ",
"name":"Antarctica",
"countryName":"Antarctica"
},
{
"countryId":"3371123",
"countryCode":"BV",
"name":"Bouvet Island",
"countryName":"Bouvet Island"
}
]
}
JSONスニペットを提供できますか?今すぐアクセスできない、まずそれを見てみたい。 – Dandy
あなたは間違った方法で 'datastorage'を初期化しています..期待されるJSON –
@mplungjanのサンプルを提供すると助けになるかもしれません。おそらくdatastorageはどこかグローバルで、彼は' geoCode'というキーでレスポンスを追加したいでしょう。それで彼はおそらく彼がそれを使用しているINを使用することができます。..非常に明確ではありません.. –