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);
我也是参考的网上的资料。
原因分析:
Jsoncpp解析非法json时,会自动容错成字符类型。对字符类型取下标时,会触发assert终止进程。
后来查了查,可以通过下面两种方式解决:
方案1 对Json::Value取下标前,先判断(value.type()==Json::objectValue)。
方案2 启用严格模式,让非法的json解析时直接返回false,不自动容错。
Json::Features f = Json::Features::strictMode();
Json::Reader reader(f);
我也是参考的网上的资料。
相关文章推荐
- ios使用kvc机制简化对json的解析
- storm的容错机制
- MapReduce的容错机制
- 从JSONModel看Objective-C的反射机制
- Android Priority Job Queue (Job Manager):线程任务的容错重启机制(二)
- Spark容错机制
- 【原】Storm 守护线程容错机制
- Spring Cloud学习--容错机制(Hystrix之服务降级)
- CSS2.1的容错机制
- Spark容错机制
- Hadoop2容错机制
- 【Flume】【源码分析】flume中FailoverSinkProcessor容错处理机制源码分析
- Elasticsearch 横向扩容以及容错机制
- HTML循环取JSON数组里面的数据,添加容错判断。
- Spark Streaming的容错和数据无丢失机制
- Hadoop数据容错机制探索资料
- 使用kvc机制简化对json的解析
- 通过java的反射机制实现Map、JavaBean、JSON的相互转换工具类
- 第一章 容错机制 <<高质量动态网页技术编程指南(草稿)>>
- MapReduce的容错机制