1

以下のコードを使用しています

$.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 を解析したいだけです。

4

2 に答える 2

2

操作しようとしている JSON は無効です。

有効な JSON 文字列は二重引用符 (") でカプセル化され、JSON 文字列は単一引用符 (') でカプセル化されます。

于 2013-05-26T22:16:08.483 に答える
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 "\}"
        ]};
于 2013-05-26T22:19:59.060 に答える