2012-08-23 64 views
0

解析JSON當我加載以下的jQuery的JSON全光照$ .getJSON方法,我得到以下錯誤 未捕獲的SyntaxError:意外的標記: 的JSON使用Java的簡單的JSON庫,以便程序創建的一個servlet我認爲這是錯誤的結構在JSON 繼一點機會是裝載異常與jQuery的

{"links":[{"link":"http:\/\/projects-sushilkumar.rhcloud.com\/YTDownload?url=http:\/\/o-o---preferred---iad09s20---v17---lscache7.c.youtube.com\/videoplayback?upn=OE7v3mttmjE!sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire!fexp=922401%2C920704%2C912806%2C911406%2C912706!key=yt1!itag=37!ipbits=8!signature=3E14ACACF3CD2F3DB18C6D0D54C00A49E6CAA2BE.B6CD8982AAD85086CC1CCA42F9207FF9AF6DBC84!mv=m!sver=3!mt=1345701731!ratebypass=yes!source=youtube!ms=au!gcr=us!expire=1345726167!ip=50.19.68.176!cp=U0hTSldNVF9LUUNOM19PR1hCOjAzTWtjV2V2eTRu!id=9d8c9310d90eae67!quality=hd1080!fallback_host=tc.v17.cache7.c.youtube.com!type=video\/mp4&title=Tujhe Bhula Diya \/ Hello - Gaurav (Synchronicity)\n  - YouTube.mp4","type":"mp4"},{"link":"http:\/\/projects-sushilkumar.rhcloud.com\/YTDownload?url=http:\/\/o-o---preferred---iad09s20---v16---lscache6.c.youtube.com\/videoplayback?ip=50.19.68.176!upn=OE7v3mttmjE!sparams=algorithm%2Cburst%2Ccp%2Cfactor%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Csource%2Cupn%2Cexpire!fexp=922401%2C920704%2C912806%2C911406%2C912706!mt=1345701731!key=yt1!algorithm=throttle-factor!burst=40!ipbits=8!itag=17!sver=3!signature=1C4B63A105890A1B7C63563C1CCDB2187F7FCF74.64100D94E68D0327F78C1BCD89ECB77E1D2D83A3!mv=m!source=youtube!ms=au!gcr=us!expire=1345726167!factor=1.25!cp=U0hTSldNVF9LUUNOM19PR1hCOjAzTWtjV2V2eTRu!id=9d8c9310d90eae67!quality=small!fallback_host=tc.v16.cache6.c.youtube.com!type=video\/3gpp&title=Tujhe Bhula Diya \/ Hello - Gaurav (Synchronicity)\n  - YouTube.3gpp","type":"3gpp"}]} 

這裏JSON是一條什麼的$.getJSON()代碼:

$('button').click(function() { 
    $.getJSON('http://projects-sushilkumar.rhcloud.com/YTGrabber?url=http://you‌​tube.com/watch?v=nYyTENkOrmc&feature=g-all-lik&callback=?', 
     function(data) { alert('loaded'); }); 
}); 
+0

你能展示更多的代碼嗎? – xdazz

+0

'$( '按鈕')。點擊(函數() \t \t \t \t { \t \t \t \t \t $ .getJSON(「http://projects-sushilkumar.rhcloud.com/YTGrabber?url=http:/ /youtube.com/watch?v=nYyTENkOrmc&feature=g-all-lik&callback=?',function(data) \t \t \t \t \t { \t \t \t \t \t \t警報( '加載'); \t \t \t \t \t}); \t \t \t \t});' 這是加載JSON – kaysush

+0

你似乎在做JSONP請求的代碼 - 也即服務器響應正確還是隻是返回純JSON? – nnnnnn

回答

0

這是JSON中導致它失敗的換行符(\n)。嘗試先刪除它們。

或者,嘗試通過使用附加\逸出\n\(反斜槓),即\\n。你可以在服務器(可能是最好的)或客戶端上做到這一點。

+0

刪除'(\ n)'但仍然出現錯誤。 – kaysush

+0

'「\ n」'在JSON中有效。如果你正在用字符串文字_then_構造一個JSON_in JavaScript_,你必須說'「\\ n」',但是由該字符串文字創建的字符串會有兩個字符,一個「」和「」 N「'。 – nnnnnn

+0

@nnnnnn我已經從JSON中刪除了所有'\ n',但仍然出現錯誤 – kaysush