2013-05-26 55 views
1

我用下面的jQuery的getJSON錯誤

$.getJSON('/list_pat', function(data){ 
    $.each(data, function(key, val) { 
    console.log("val "+ val); 
    }); 
}); 

這段代碼在/ list_pat正試圖在上面的代碼我在鍍鉻取得主控臺上的錯誤後返回

"{'patients':[{'ailment': [{'ailment': 'alksjdnfkajcbkasjcbksd', 'updatedby': '' 
'datecreated': '2013-05-20 18:53:13', 'ailtag': '11', 'prescription': 'kjnckasjcnksjdnc', 
'dateupdated': '', 'images': [{'desc': 'ksjcnksajcnd', 'datecreated': '', 'addedby': '2013- 
05-20 18:53:22', 'imgtag': '30'}], 'createdby': '', 'procedure': 'kjnaksjncksdjnc'}]]} 

瀏覽器。

Uncaught TypeError: Cannot use 'in' operator to search for '143' in   "{'patients':[{'ailment': [{'ailment': 'alksjdnfkajcbkasjcbksd', 'updatedby': '' 
    'datecreated': '2013-05-20 18:53:13', 'ailtag': '11', 'prescription': 'kjnckasjcnksjdnc', 
    'dateupdated': '', 'images': [{'desc': 'ksjcnksajcnd', 'datecreated': '', 'addedby': '2013- 
    05-20 18:53:22', 'imgtag': '30'}], 'createdby': '', 'procedure': 'kjnaksjncksdjnc'}]]} 

143是字符串的總長度。我錯過了什麼。我只是想解析JSON。

+0

如果這是真的返回值,它是一個JSON編碼的字符串,包含(有點類似於)JSON數據。所以你需要再次解碼。 – Sirko

+0

JSON文件不會以雙引號開頭。我猜這就是問題。 – iraycd

+0

我懷疑服務器已經對它的對象進行了兩次編碼,但第一次看起來不像JSON。 – Barmar

回答

2

您嘗試使用的JSON無效。

有效的JSON字符串用雙引號(「)在您的JSON字符串使用單引號(')封裝的封裝

+0

你是對的,b ut也解析對象.. –

+0

@DoryZidon'$ .getJSON'返回一個JSON對象,而不是一個字符串。 –

+0

你是對的我的壞.. –

1

你在JSON語法錯誤:

data = {'patients':[ 
      {'ailment': [ 
       {'ailment': 'alksjdnfkajcbkasjcbksd', 
       'updatedby': '', //missing "," 
       'datecreated': '2013-05-20 18:53:13', 
       'ailtag': '11', 
       'prescription': 'kjnckasjcnksjdnc', 
       'dateupdated': '', 
       'images': [ 
        {'desc': 'ksjcnksajcnd', 
        'datecreated': '', 
        'addedby': '2013-05-20 18:53:22', 
        'imgtag': '30'}], 
       'createdby': '', 
       'procedure': 'kjnaksjncksdjnc'}] 
      } //missing "\}" 
     ]};