2016-09-02 6 views
3

自分自身のサーバーでJSONファイルを照会しようとしています。$.getJSONを使用してオブジェクト内をサイクリングしています。いいえ問題これまでのところ、その後、私は返すようにしたいオブジェクトの名前でIDを持っていますが、それが正しいように見えることはできません。jQueryを使用してJSONからオブジェクトを取得

var id = 301; 
    var url = "path/to/file.json"; 
    $.getJSON(url, function(json) { 
    var items = []; 
    items = json; 
    for (var i = 0; i < items.length; i++) { 
     var item = items[i]; 
     console.log(item); 
    } 
    }); 

これは、コンソールに次のように印刷しない:

console.log of all the objects in json

今私の最初のアプローチは何だった

など item.dorms、のは、私はその後、私は item.banosのようにそれを参照することができ idにのみオブジェクト ==を返したいとしましょう

どれでも助けを動作しませんでした

console.log(json.Object.key('301')); 

のように非常に高く評価されるだろう。

+3

'はconsole.log(JSON [ '301']));' – jcubic

+0

@jcubicのanwerそれを、それが – Th0rndike

+0

それです@KingRider英語を使ってください。 – jcubic

答えて

3

あなたの応答は、1つの要素を持つ配列に包まれているように思え。


角カッコを介して動的にオブジェクトのプロパティにアクセスすることができる:

var id = 301; 
var url = "path/to/file.json"; 
$.getJSON(url, function(json) { 
    console.log(json[0][id].banos); 
}); 
+0

これはそれでしたので、大胆な角括弧を2度使用しなければならない理由について少し説明します。 – user2770956

+0

'[0]'は、ラッピング配列の最初の要素(この場合は唯一の要素)にアクセスします。 '[id]'は、最初のステップで配列から抽出されたオブジェクトのプロパティ 'id'にアクセスします。 – Timo

+0

私は配列をアンラップする必要がありますか? – user2770956

1

取得するオブジェクトのプロパティの名前を知っているので、かっこ表記を使用できます。あなたもこのためのコードを簡素化することができます。

var id = 301; 
 

 
//$.getJSON("path/to/file.json", function(json) { 
 
    // response data from AJAX request: 
 
    var json = { 
 
    '301': { 
 
     banos: 2 
 
    }, 
 
    '302': { 
 
     banos: 3 
 
    }, 
 
    '303': { 
 
     banos: 4 
 
    }, 
 
    '304': { 
 
     banos: 5 
 
    }, 
 
    }; 
 

 
    var item = json[id]; 
 
    console.log(item); 
 
//});

+0

ありがとう、これは未定義に戻ります。また、私はdownvoteしなかった。 – user2770956

+0

実例を追加しました。このコードがうまくいかない場合は、実際のJSONをコンソールに表示するのではなく、質問に追加する必要があります。 –

+0

@KingRider申し訳ありませんが、私はあなたが何を言っているのか分かりません –

0
$.each(items,function(n,value){ 
    if(n==301) 
     alert(value); 
}); 
+1

この投稿は低品質の投稿として見つかりましたので、あなたの答えに詳細を入力してください。コードのみと 'これを試してください'の回答は、検索可能なコンテンツが提供されていないため、なぜ人々が 'これを試してください'という理由がないため、お勧めできません。 – Paritosh

関連する問題