2011-07-19 46 views
0

我想解析這個json字符串,它不工作。它給了我一個語法錯誤在chromes的JavaScript控制檯和螢火蟲。任何幫助將不勝感激!非常感謝!如何正確解析這個JSON?說它的屬性是undefined

"{ "SUCCESS" : false, "DATA" : '', "ERRORS" : [ "duplicate item" ]}" 


Uncaught SyntaxError: Unexpected token ILLEGAL 

這裏是我的代碼:

var json = objResponse; 
//var obj = JSON.parse(json); //this doesn't work either 
var obj = jQuery.parseJSON(json); 

alert(obj.SUCCESS); 

回答

1

不要你的錯配或引用您的報價類型,例如:

'{ "SUCCESS" : false, "DATA" : "", "ERRORS" : [ "duplicate item" ]}' 

將解析只要找到。另外一個註釋,單引號對JSON字符串無效。

值可以是在雙引號的字符串或數字,或真或假 或爲空,或物體或陣列。這些結構可以是嵌套的 。

+0

你是正確的,報價不應該不匹配,但利用這個機會指出,單引號在JSON中是非法的+1。 –

+0

@卓越點更新http://www.json.org/ – Joe

+0

完美!非常感謝您的幫助!我很感激! – cpeele00

3

你的問題是單引號(')爲DATA

這幫了我: http://json.parser.online.fr/

+0

感謝您的幫助,我欣賞真棒鏈接。然而下面的答案是我用來解決我的問題的答案。但再次感謝! – cpeele00

+0

有趣。我認爲'JSON.parse()'會忽略驗證錯誤並允許使用單引號,但並非如此。所以,即使上面的代碼是有效的JavaScript(並且能夠存活'eval'),它將會失敗JSON解析。我現在只用雙引號,但我不知道。 – Andrew