Javascript 如何捕获JSON.parse()的异常?
我必须解析的字符串来自Javascript 如何捕获JSON.parse()的异常?,javascript,json,Javascript,Json,我必须解析的字符串来自FileReader(),它可能是有效json文件的内容,也可能无效(例如script.js) 问题是try/catch似乎不能与JSON.parse()一起使用 以下代码未捕获de exceptionJSON.parse:JSON数据的第1行第1列出现意外字符,文件无效 try { var json = JSON.parse( content ); .. } catch (e) { .. } 为了进行第一次验证,我使用(content.subst
FileReader()
,它可能是有效json文件的内容,也可能无效(例如script.js)
问题是try/catch
似乎不能与JSON.parse()一起使用
以下代码未捕获de exceptionJSON.parse:JSON数据的第1行第1列出现意外字符,文件无效
try
{
var json = JSON.parse( content );
..
}
catch (e)
{
..
}
为了进行第一次验证,我使用(content.substr(0,1)=='{')
测试第一个字符,但我认为这是不够的
实现这一目标的最佳方式是什么
编辑:错误地提出了此问题。try catch可用于JSON.parse
。请在浏览器控制台中尝试以下操作或使用SO的代码段功能:
试试{
JSON.parse(“b”)
}第(e)款{
document.writeln(“捕获:+e.message”)
}try..catch
块与JSON一起工作。parse
,您可能做了其他错误。请尝试运行此代码段以查看它是否确实工作:
var unexpectedJSON='{a}';
试一试{
parse(意外的JSON);
}
捕获(e){
警报(“JSON中的意外值”);
}
试试{var json=json.parse('test');}catch(e){console.log('catch');}
对我有用。你能创建一个吗?根据mdn,json.parse应该抛出一个语法错误异常。这是正确的方法,显示返回的错误消息。