我有一个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 ......)?
答案 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);