如何从json获得正确的数据显示

时间:2014-02-02 14:10:06

标签: jquery json

我将我的json从php文件发送为

echo json_encode(array('uname'=>$fname,'Oname'=>$pi['name'],'osize'=>$size));

iam在客户端使用以下jquery循环遍历它,但它不显示list中的所有记录。我可以使它有效地工作

function work(i,fly,response){
var cookedJSON=[];cookedJSON.push({ uname : response.uname , Oname : response.Oname , osize :response.osize });
             _outfilenames=[];
    $.each(cookedJSON, function(i,arr) {

          _outfilenames.push("<li id='group_0_file_"+i+"'class='image-list'>" +"<div class='controls' title='remove file'><a href='#' class='image-list' data-filename='"+arr.uname +"'><img src='stop.png' ></a></div>"+   "<span class='filename'>" +arr.Oname+ "</span> "  +"<span class='details'>size:</strong>"+arr.osize +" </span>" +"</li>");//}
    });  // close each()
    $(_outfilenames.join('')).appendTo(f_list);

我做错了什么,我该怎么做才能把它弄好????

1 个答案:

答案 0 :(得分:1)

您的cookedJSON是一个只存储一个JSON的数组。要检索此JSON属性,您应该使用:

cookedJSON[0].uname;
cookedJSON[0].oname;
cookedJSON[0].osize;

您也可以使用:

cookedJSON[0]['uname'];
cookedJSON[0]['oname'];
cookedJSON[0]['osize'];

但是如果你使用:

cookedJSON.uname;
cookedJSON.oname;
cookedJSON.osize;

您将在控制台日志中获得undefined