可能重複:
How to check if a string is a valid JSON string in JavaScript without using Try/CatchisJSON在JavaScript中,沒有的try/catch
的問題已經在這裏問:How to check if a string is a valid JSON string in JavaScript without using Try/Catch。沒有給出有效的答案,即使是經過驗證的答案也沒有回答這個問題。
所以它似乎唯一不使用try/catch的方法是通過regexps;在其中一個答案中給出的正則表達式僅針對eval進行驗證,因此像「2001-05-06」這樣的簡單字符串將傳遞正則表達式,即使它不是JSON。
那麼有沒有人有一個很好的正則表達式來驗證一個格式良好的JSON字符串?
使用正則表達式,而不是一個try/catch正在取代與非工作黑客正確的解決方案。 –
爲什麼你不想使用'try .. catch'?似乎很合理,因爲它在失敗時會引發異常。 –
假設有一些JS庫在不使用'try/catch'的情況下苦心地實現了一個完全正確的JSON解析器 - 我很想知道你會如何證明添加大量代碼和接受性能打擊是正確的,不要寫一個使用'try/catch'的3行解決方案。而這並沒有考慮到更多的代碼==更多的錯誤。 – Jon