jquery getJSON错误

时间:2013-05-26 22:11:59

标签: jquery json 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'}]]}

尝试上面的代码后,我在chrome浏览器的控制台上出现错误。

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。

2 个答案:

答案 0 :(得分:2)

您尝试使用的JSON无效。

有效的JSON字符串由双引号(“)封装,其中JSON字符串由单引号(')封装。

答案 1 :(得分: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 "\}"
        ]};