jQuery parseJSON返回双数据

时间:2011-07-04 09:29:39

标签: php jquery json

我有一个PHP文件,它返回:

$data = pg_fetch_array($result);
echo json_encode($data);

在.js代码中我这样做:

var jsonObj = $.parseJSON(text);
console.dir(jsonObj);

我的问题是我得到了这个“双重”数据:

{ “0”: “3”, “ID”: “3”, “1”: “测试”, “类型”: “测试”, “2”: “谷歌”, “姓名”:“谷歌“,”3“:”http://www.google.com“,”url“:”http://www.google.com“}

关于如何在没有这些索引的情况下检索它的任何想法(0,1,2 ......)?

3 个答案:

答案 0 :(得分:2)

问题不在于parseJSON方法,而是在pg_fetch_array中。这是预期的行为。

PHP文档说默认情况下pg_fetch_array“以数字方式(以0开头)或以关联方式(以字段名称索引)索引”,以便您可以按索引或按名称访问值。

要更改此行为,请使用

$data = pg_fetch_array($result, 0, PGSQL_ASSOC); //Keys are names only
$data = pg_fetch_array($result, 0, PGSQL_NUM); //Keys are indexes only

答案 1 :(得分:0)

我认为您不需要使用json解析它,如果您使用的是jquery ajax方法,那么只需提及dataTye:json,那么您就可以直接访问该对象。

答案 2 :(得分:0)

尝试     pg_fetch_array($ result,NULL,PGSQL_ASSOC);