2011-07-04 89 views
0

我有返回此PHP文件:jQuery的parseJSON返回雙倍數據

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

而在.js文件的代碼我這樣做:

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

而我的問題是,我得到這個「雙「data:

{」0「:」3「,」id「:」3「,」1「:」test「,」type「:」test「,」2「:」google「,」name 「:」google「,」3「:」http://www.google.com「,」url「:」http://www.google.com「}

有關如何檢索它沒有這些索引(0,1,2 ...)的任何想法?

回答

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 
+0

感謝您的回答,它現在可以正常工作! – Nikola

0

我認爲你不需要解析使用json,如果你正在使用jQuery的ajax方法,那麼只需提及dataTye:json,那麼你可以直接訪問該對象。

+0

曼尼:這是同樣的事情,即使我把數據類型。 – Nikola

+0

可以粘貼json o/p –

0

嘗試 pg_fetch_array($ result,NULL,PGSQL_ASSOC);