これは、障害のある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.