使用JSON将PHP Array转换为jQuery数组。 ($ .post,parseJSON,json_encode)

时间:2011-06-07 03:33:58

标签: php jquery json

我正在尝试设置php文件以从jQuery AJAX调用返回MySQL数据库查询的结果。返回的结果将是一个数组。我有一个非常基本的开始,我只是在php文件中来回获取一些基本数据,但我遇到了一些基本的语法问题:

PHP代码:

$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);  
echo json_encode($arr); 

jQuery代码:

$.post("dbFile.php", str, function(theResponse){
     alert('the response: ' + theResponse);
     var obj = $.parseJSON(theResponse);
     alert(obj.a);

我可以打印出obj.a,obj.b,obj.c ......没问题。问题是当我增加MySQL结果时,我将递增一个计数器。因此,数组不使用字母,它使用数字:

$arr[$i] = mysqlresults ... $i++;

所以,在JavaScript / jQuery中我有一个对象(不是数组)。我可以打印出obj.a例如,但我不能打印出obj.2(例如)。换句话说,如果我用php数组中的数字替换字母,我不知道如何在JavaScript / jQuery中打印它们。我可以以某种方式更改parseJSON返回到数组的对象(以便我可以循环它)吗?

2 个答案:

答案 0 :(得分:5)

使用数组访问语法:

alert(obj[42]);

答案 1 :(得分:2)

您可以使用:

alert(obj['a']);

有关详细信息,请参阅this question