這不是關於如何管理或糾正錯誤的JSON,它是關於如何向用戶解釋錯誤在錯誤的JSON中的位置。解析錯誤的JSON,並能夠顯示錯誤的位置
有沒有辦法找出解析器失敗的JSON中哪個位置。
我想在node.js應用程序中解決這個問題,所以如果可能的話請保留你的答案。
當我使用內置的JSON對象和錯誤的JSON的解析方法時,我只能得到異常消息SyntaxError: Unexpected string
。我想知道錯誤發生在哪裏。
首選的是JSON.validate(json)
,返回結果ok/error和錯誤位置。事情是這樣的:
var faultyJsonToParse = '{"string":"value", "boolean": true"}';
var result = JSON.validate(faultyJsonToParse);
if (result.ok == true) {
console.log('Good JSON, well done!');
} else {
console.log('The validator found a \'' + result.error + '\' of type \'' + result.errorType + '\' in your JSON near position ' + result.position);
}
的那受通緝的結果,上面會:
The validator found a 'SyntaxError' of type 'Unexpected string' in your JSON near position 35.
你期待的指數爲縮小的JSON字符串,其中出現錯誤? – Aesthete
是的,類似的東西。我猜也可能是一個大JSON中的問題路徑。 – javabeangrinder
葉..也許有讀通過這.. https://bugzilla.mozilla.org/show_bug.cgi?id=507998它可能不會回答你的問題,但可能給一些洞察,爲什麼這個功能不本地存在。 – Aesthete