2016-09-11 6 views
-1

したがって、JSONデータを取得しています。これは変数に保存され、配列です。私は、この持っているコンソールで配列の値をjavascriptの変数に保存します

var my_data 
$.getJSON('http://ipinfo.io/geo', function(data){ 
my_data = data; 
console.log(my_data); 
}); 

Object { 
    city: "Krasnoyarsk", 
    country: "RU", 
    ip: "212.119.233.96", 
    loc: "56.0184,92.8672", 
    postal: "660000", 
    region: "Krasnoyarskiy Kray" 
} 

を私はこの配列から必要な唯一のものは、都市の名前です。私は以下を試した:

var my_city = my_data.filter(function (filt) { 
    return filt.city;}); 

これはうまくいきません。

私は正しい方法でこれをやろうとしていますが、何かが正しくない、またはこのコードが完全に間違っていますか?

+0

は、あなただけのvar my_city = my_data.city試してみる

var my_data $.getJSON('http://ipinfo.io/geo', function(data){ my_data = data; console.log(my_data.city); }); var my_city = my_data.city; 

が正常に動作しますが深すぎ行ってきましたが実現しました。 –

答えて

0

はあなたが単にようdot-notationを使用してObjectのプロパティにアクセスすることができませんdot-notationを使用してアクセスします。これらのプロパティには、次のようにアクセスする必要があります。

var myStreetAndCity = my_data["street-and-city"]; 
0

返されるオブジェクトはオブジェクトであり、配列ではありません。したがって、ここで.filterを使用する必要はありません。 { "street-and-city": '...' }ができないようなものを意味し、変数の命名規則を満たすプロパティの

var myCity = my_data.city; 

これだけ作品を:ちょうど

console.log(my_data.city); 
0

ありがとうございました!今私は

関連する問題