Php json jquery问题
我用它从json格式的ajax jquery中获取信息,但它给了我错误 像这样0=[对象]Php json jquery问题,php,jquery,json,Php,Jquery,Json,我用它从json格式的ajax jquery中获取信息,但它给了我错误 像这样0=[对象] $.getJSON("ajax_files/getSingleRow.php?id="+id+"&type="+type, function(json){ $.each(json, function(key, val) { //$("#"+key).val(val); alert(k
$.getJSON("ajax_files/getSingleRow.php?id="+id+"&type="+type, function(json){
$.each(json, function(key, val) {
//$("#"+key).val(val);
alert(key+'='+val);
});
});
这是我的约森弦
[{"id":"1","ref":"RH-R-1","name":"","description_demo":"this is desc test"}]
谢谢大家…下面是我的json的发展过程
while($rw = $oAppl->row($res))
{
$return[]=array('id'=>$rw['id'],
'ref'=>$rw['ref'],
'name'=>$rw['name'],
'description_demo'=>$rw['description_demo']);
}
header('Content-type: application/json');
echo json_encode($return);
严格来说,这不是一个错误,这是一个对象。它可能包含错误,谁知道呢。但是这个东西本身是一个等待访问的东西(即
val
的值),它本身没有任何错误
尝试访问成员,输出
id
,name
,等等,而不是仅仅在警报中转储内容。JSON文本由包含对象的数组组成
当您在其上循环时,将获得数组的第一个键(0
),然后是对象的字符串序列化([object object]
)。然后它停止,因为数组中只有一个条目
这不是错误。鉴于您输入的数据,这是预期行为
您可能希望在对象上循环,在这种情况下:
var ob = json[0];
$.each(ob, function(key, val) {
试试这个:
$.getJSON("ajax_files/getSingleRow.php?id=" + id + "&type=" + type, function (json) {
$.each(json, function (key, val) {
// This will only give you the 'ref' value
alert(key + '=' + val.ref);
// To loop through all the values
$.each(val, function (key2, data) {
alert(key2 + ": " + data);
});
});
});
您的JSON字符串被包装在一个数组中
[{}]
将“[
”和“]
”保留在外。读取JSON集合项的属性值
$.each(json, function(key, item) {
alert(key+'='+item.id);
alert(key+'='+item.ref);
alert(key+'='+item.description_demo);
});
假设您的页面中没有其他脚本错误,这应该可以正常工作
工作示例:为什么您认为这是一个错误?您的json是一个包含一个元素的数组,该元素是一个对象。要查看您收到的数据,请执行
alert(json)
。@asifsid88该alert()
函数对于调试和显示信息来说非常糟糕,正如他们刚刚发现的那样,因为它不显示对象的属性。