2016-07-17 16 views
0

jQueryを使用してJSONファイルからデータを解析して表示しています。私はブラウザで吐き出すすべてを得ましたが、JSONファイルのキーの1つに値の配列があります。したがって、たとえば、これは私のJSONです:jQueryを使用して配列でJSONオブジェクトを表示する方法

{ 
    "category" : "Stuff", 
    "location_id" : { 
    "longitude" : "-71.89237903999964", 
    "latitude" : "41.6809076720005", 
    "human_address" : "{\"address\":\"156 Plainfield Pike Rd\",\"city\":\"Plainfield\",\"state\":\"CT\",\"zip\":\"06374\"}" 
    }, 
} 

、ここでは私のjQueryのコードです:

$.getJSON('data.json', function(data) { 
     var output = '<ul class="searchresults">'; 
     $.each(data, function(key, val) { 
      if (val.item.search(myExp) != -1) { 
       output += '<li>'; 
       output += '<p>' + "Category: " + val.category + '</p>'; 
       output += '<p>' + "Location: " + val.location_id + '</p>'; 
       output += '<p>' + "Business: " + val.business + '</p>'; 
       output += '</li>'; 
      } 
     }); 
     output += '</ul>'; 
     $('#update').html(output); 

私はlocation_idのための出力は、[オブジェクト、オブジェクト]として起動します何らかの理由で...することができます誰かが私がその配列のすべてをつかむのを助ける?

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

答えて

2

JSONのlocation_idの値は「配列」ではなく、「オブジェクト」です。また、オブジェクトのデフォルトのString値は[object Object]です。したがって、あなたは全体、そのオブジェクトのさまざまな部分を使用して文字列をCONCATしない必要があります

output += '<p>' + "Location: " + 
    val.location_id.longitude + ', ' + 
    val.location_id.latitude + 
    '</p>'; 

それとも、全体location_idオブジェクトを取得し、JSONを文字列化できます。しかし、これは人間にとってはひどく読めるものではありません。

output += '<p>' + "Location: " + JSON.stringify(val.location_id) + '</p>'; 
関連する問題