1

我用它从json格式的ajax-jquery获取信息,但它给了我错误像这样0=[对象对象]

$.getJSON(“ajax_files/getSingleRow.php?id=“+id+”&type=“+type,function(json){$.each(json,函数(key,val){//$(“#”+键).val(val);警报(key+'='+val);});});

这是我的乔森绳

[{“id”:“1”,“ref”:“RH-R-1”,“name”:“”,“description_demo”:“这是描述测试”}]

谢谢大家。。。下面是我的json是如何开发的

while($rw=$oAppl->row($res)){$return[]=数组('id'=>$rw['id'],'ref'=>$rw['ref'],“name”=>$rw['name'],'描述_demo'=>$rw['description_demo']);}header('Content-type:application/json');echo json_encode($return);
4
  • 你为什么认为这是个错误? 评论 2013年3月4日12:43
  • 您的json是一个数组,其中有一个元素是对象。 评论 2013年3月4日12:46
  • 警报(json)查看您收到的数据??
    – asifsid88
    评论 2013年3月4日12:47
  • @asifsid88警报()正如他们刚刚发现的那样,函数对于调试和显示信息非常糟糕,因为它不显示对象的属性。 评论 2013年3月4日12:50

5个答案5

重置为默认值
2

JSON文本由包含对象的数组组成。

当您循环遍历它时,您将获得数组的第一个键(0)然后是对象的字符串序列化([对象对象]). 然后它会停止,因为数组中只有一个条目。

这是不是一个错误。根据您输入的数据,这是预期行为。

可能您希望循环遍历对象,在这种情况下:

var ob=json[0];$.each(ob,函数(key,val){
0
0

严格地说,这不是一个错误,它是一个对象。它可能包含错误,谁知道呢。但事物本身是一个等待访问的事物(即val值)它没有内在的错误。

尝试访问成员,输出身份证件,名称等,而不仅仅是在警报中抛出东西。

0

试试这个:

$.getJSON(“ajax_files/getSingleRow.php?id=”+id+“&type=”+类型,函数(json){$.each(json,函数(key,val){//这将只为您提供“ref”值警报(key+'='+val.ref);//循环遍历所有值$.each(val,功能(键2,数据){警报(键2+“:”+数据);});});});

此处演示

0

JSON字符串包装在数组中。[ {} ]离开“[“和”]“退出。

0

读取JSON集合项的属性值。

$.each(json,函数(键,项){警报(key+'='+item.id);alert(key+'='+item.ref);警报(key+'='+item.description_demo);});

假设页面中没有其他脚本错误,那么这应该可以正常工作。

工作样品:http://jsfiddle.net/a4Efx/4/

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.