我正在使用jQuery来解析和显示来自JSON文件的数据。我在浏览器中吐出一切,但我的JSON文件中的一个键有一个值数组。例如,这是我的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的输出显示为[object,object] ...有人可以帮我抓住那个数组中的所有内容吗?
非常感谢!!!
答案 0 :(得分:2)
JSON中的location_id
值不是&#34;数组&#34;,它是&#34;对象&#34;。对象的默认String值为[object Object]
。因此,您需要将字符串与该对象的各个部分连接起来,而不是整个部分:
output += '<p>' + "Location: " +
val.location_id.longitude + ', ' +
val.location_id.latitude +
'</p>';
或者您可以获取整个location_id
对象并对JSON进行字符串化。尽管如此,这仍然是非常可读的:
output += '<p>' + "Location: " + JSON.stringify(val.location_id) + '</p>';