你好,我正在尝试解析一个.json文件。。它只有一组数据,我不认为每一个$.是最好的方法,但这是我能找到的全部。。。。
这是我的代码:
<script type="text/javascript">
function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}
var url = 'http://f.cl.ly/items/1L2k221B183J1e1G411j/200.json';
/* <![CDATA[ */
$(document).ready(function(){
$.getJSON(url, function(data){
$.each(data.test, function(i,test){
content = '<h1><p class="p1"><span class="s1">' + test.name + '</span></p></h1><table class="table table-bordered"><tbody><tr><td>Section:</td><td>Chemistry</td></tr><tr><td>Synonyms:</td><td>Mg Level</td></tr><tr><td>Container:</td><td>' + test.container + '</td></tr><tr><td>Reference Ranges:</td><td>' + test.reference + '</td></tr><tr><td>Availability:</td><td>' + test.availability + '</td></tr><tr><td>Special Handling:</td><td>' + test.specialHandling + '</td></tr><tr><td>Additional Comments:</td><td>' + test.additionalComments + '/td></tr></tbody></table>';
$(content).appendTo("#main");
$("#main").fadeIn( );
});
});
});
/* ]]> */
</script>
结果有点奏效。。。表在那里,但代码循环3次,并显示所有verible的"未定义"。
任何帮助都会很棒!
只需使用不带循环的结果数据。如果data.test
不是数组,则可以直接访问对象属性。
类似于:
<script type="text/javascript">
function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}
var url = 'http://f.cl.ly/items/1L2k221B183J1e1G411j/200.json';
/* <![CDATA[ */
$(document).ready(function(){
$.getJSON(url, function(data){
content = '<h1><p class="p1"><span class="s1">' + data.test.name + '</span></p></h1><table class="table table-bordered"><tbody><tr><td>Section:</td><td>Chemistry</td></tr><tr><td>Synonyms:</td><td>Mg Level</td></tr><tr><td>Container:</td><td>' + data.test.container + '</td></tr><tr><td>Reference Ranges:</td><td>' + data.test.reference + '</td></tr><tr><td>Availability:</td><td>' + data.test.availability + '</td></tr><tr><td>Special Handling:</td><td>' + data.test.specialHandling + '</td></tr><tr><td>Additional Comments:</td><td>' + data.test.additionalComments + '/td></tr></tbody></table>';
$(content).appendTo("#main");
$("#main").fadeIn( );
});
});
/* ]]> */
</script>
试试这个:
<script type="text/javascript">
function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}
var url = 'http://f.cl.ly/items/1L2k221B183J1e1G411j/200.json';
/* <![CDATA[ */
$.getJSON(url, function(data)
{
for(var i in data.test)
{
var obj = data.test[i];
var content = '<h1><p class="p1"><span class="s1">' + obj.name + '</span></p></h1><table class="table table-bordered"><tbody><tr><td>Section:</td><td>Chemistry</td></tr><tr><td>Synonyms:</td><td>Mg Level</td></tr><tr><td>Container:</td><td>' + test.container + '</td></tr><tr><td>Reference Ranges:</td><td>' + obj.reference + '</td></tr><tr><td>Availability:</td><td>' + obj.availability + '</td></tr><tr><td>Special Handling:</td><td>' + obj.specialHandling + '</td></tr><tr><td>Additional Comments:</td><td>' + obj.additionalComments + '/td></tr></tbody></table>';
$(content).appendTo("#main");
$("#main").fadeIn( );
}
});
/* ]]> */
</script>
$.each(Object or Array, iterator)
可能是您应该使用的。真正的问题是data.test
必须是Object或Array,而不是不是Object或Array的Object属性。