我正在使用以下代码
$.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。
答案 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 "\}"
]};