您的位置:首页 > Web前端 > JavaScript

JSON的容错机制

2012-07-10 12:49 381 查看
最近在做一个项目用到了json,测试人员发过来的请求不符合JSON格式,之后我的系统就挂了。呵呵。

原因分析:

Jsoncpp解析非法json时,会自动容错成字符类型。对字符类型取下标时,会触发assert终止进程。

后来查了查,可以通过下面两种方式解决:

方案1 对Json::Value取下标前,先判断(value.type()==Json::objectValue)。

方案2 启用严格模式,让非法的json解析时直接返回false,不自动容错。

Json::Features f = Json::Features::strictMode();

Json::Reader reader(f);

 

 

我也是参考的网上的资料。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  json features 测试