0

専用関数を使用して json 内の特定の要素を取得しようとしていますが、それが機能しない理由がわかりません。誰でも私を助けることができますか?

私はここでフィドルを設定しました: http://jsfiddle.net/jonigiuro/N5TTM/2/

コード:

var data = {
   "results":[
      {
         "reinsurance":{
            "africa":{
               "one":{
                  "name":"test",
                  "address":"test street",
                  "tel1":"tel1",
                  "tel2":"tel2",
                  "url":"http://www.google.com"
               }
            }
         }
      }
   ]
}

// FAKE RESPONSE

var AjaxInfo = {

init : function() {
    this.bindEvents();
},

bindEvents : function() {
    var self = this;

    $(document).ready(function() {

        self.renderData( 'reinsurance', 'africa', 'one' );

    })
},

renderData : function( category, country, name ) {

    console.log(data.results[0]); //ok
    console.log(data.results[0].category); //I pass 'insurance' as a category but it returns "undefined" because it looks for "category" instead

}
}

AjaxInfo.init();
4

3 に答える 3

1

このようなカテゴリを使用する必要があります

console.log(data.results[0][category]);

JSFIDDLE

于 2013-04-26T09:32:00.140 に答える
0

[]関連するオブジェクト参照を取得するために使用します...オブジェクトプロパティ用です

 console.log(data.results[0][category])

ここでフィドル

于 2013-04-26T09:32:47.797 に答える
0

categoryプロパティ自体ではなく、演算子を使用して値にアクセスできないプロパティへの参照であるため、代わりに演算子.を使用する必要があります。[]

data.results[0][category]

デモ:フィドル

于 2013-04-26T09:32:26.750 に答える