我们在调用webservice接口,或者http接口时,返回的json数据,有时候会因为情况不同,返回的数据格式也不一样。

比如我在调用增加档案接口时,传入要添加的档案id,如果成功了,success字段,会返回一个jsonarray的数组,里面有添加成功的档案id。如果已经上传过了,再次上传,则会提示fail。fail字段会有错误信息。success字段则是null。这时候success的格式不是jsonarray而是jsonobject。

所以我们在解析json数据时,就要把这种情况考虑进去,进行判断。

Object fail = jsonObject.get("fail");
if(fail instanceof JSONObject){
fail = null;
}else if(fail instanceof JSONArray){
fail = (JSONArray)fail;
}
Object success = jsonObject.get("success");
if(success instanceof JSONObject){
success = null;
}else if(success instanceof JSONArray){
success = (JSONArray)success;
}

这样在不同的情况就不会报json格式的错误了。

最新文章

  1. Matlab Map
  2. javascript string 函数集
  3. Git pull 强制覆盖本地文件
  4. JAVA输出图形(网上找的)
  5. VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
  6. Clone table header and set as the first element, and replace header's th with td
  7. C++:在程序中获取全球唯一标识号(GUID或UUID)
  8. Flex列在一个表格式的数字值
  9. sql servel 报错:将 expression 转换为数据类型 int 时出现算术溢出错误。
  10. C++11 move语意
  11. 记录Linux CentOS 7系统完整部署Docker容器环境教程
  12. okHttp超时报错解决方案
  13. Java多线程学习(四)---控制线程
  14. 【BZOJ2817】[ZJOI2012]波浪(动态规划)
  15. 51nod1647 小Z的trie
  16. 关于Backbone和Underscore再说几点
  17. "Unchecked-Send"漏洞分析
  18. vncviewer 通过ipv6连接
  19. C++ 细小知识点
  20. ThinkPHP中RBAC权限管理的简单应用

热门文章

  1. MyBatis 入门(一)
  2. SQL Server中行列转换 Pivot UnPivot
  3. 踩坑之jinja2注释问题(Flask中)
  4. Spring Security教程 ---- 验证码功能的实现
  5. 2 TensorFlow入门笔记之建造神经网络并将结果可视化
  6. 使用Stanford Parser进行句法分析
  7. Django CSRF cookie not set.错误
  8. beego——模板处理
  9. linux 清理cache中的内存
  10. 理解display中的box-flex属性