大话 JSON 之 JSONObject.getString(“”) 方法 和 JSONObject.optString(“”) 的区别

运行以下代码:

1
2
3
4
5
6
7
8
9
10
11
public static void main(String[] args) 
    JSONObject test = new JSONObject(); 
    test.put("name""kewen"); 
    test.put("empty"null); 
   
    System.out.println("test.optString(\"empty\"):" +test.optString("empty")); 
    System.out.println("test.optString(\"name\"):" +test.optString("name")); 
    System.out.println("test.getString(\"name\"):" + test.getString("name")); 
    System.out.println("test.getString(\"empty\"):" + test.getString("empty")); 

  运行一把就会看到这样的结果 、

1
2
3
4
5
6
test.optString("empty"): 
test.optString("name"):kewen 
test.getString("name"):kewen 
Exception in thread "main" net.sf.json.JSONException: JSONObject["empty"] not found. 
    at net.sf.json.JSONObject.getString(JSONObject.java:2247
    at basicUtils.JSONUtil.main(JSONUtil.java:41

  因为:在JSONObjecy的key存在值得时候,两者是没有什么区别的,然后如果key对应的value为null,那么getString方法就会报错。

至于为什么会这样我们可以看一下getString的源码

1
2
3
4
5
6
7
8
public String getString( String key ) { 
   verifyIsNull(); 
   Object o = get( key ); 
   if( o != null ){ 
      return o.toString(); 
   
   throw new JSONException( "JSONObject[" + JSONUtils.quote( key ) + "] not found." ); 

http://www.cnblogs.com/Jackie-zhang/p/6071769.html相关推荐

  1. 改进Zhang Suen细化算法的C#实现

    本文主要实现了改进Zhang Suen细化算法的C#实现,相关论文 :"牟少敏,杜海洋,苏平,查绪恒,陈光艺.一种改进的快速并行细化算法[J].微电子学与计算机,2013,(第1期)&quo ...

  2. C# 中的委托和事件[转自http://www.cnblogs.com/jimmyzhang/archive/2007/09/23/903360.html]

    PDF 浏览:http://www.tracefact.net/Document/Delegates-and-Events-in-CSharp.pdf 文中代码在VS2005下通过,由于VS2003( ...

  3. http://www.cnblogs.com/tornadomeet/archive/2012/05/24/2515980.html

    转载: Deep Learning(深度学习): ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):一 ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰 ...

  4. 开篇 让我们跟着Ray Zhang的脚步展望一下五年后的软件界

    Architect Inside I - 五年后的软件界 业界趋势分析及对应的技术战略         张大磊 Ray Zhang 十几年前的某一天,当微软发布Windows3.1操作系统的时候,大家 ...

  5. 《解剖PetShop》系列之六(spirng zhang)

    六 PetShop之表示层设计 表示层(Presentation Layer)的设计可以给系统客户最直接的体验和最十足的信心.正如人与人的相交相识一样,初次见面的感觉总是永难忘怀的.一件交付给客户使用 ...

  6. 2013MPD上海6.22 PM 陆宏杰:通往卓越管理的阶梯 6.23AM Ray Zhang 产品创新管理的十八般武艺...

    MPD2天的内容,参加了5个课程,其中2个是管理的,分别是陆宏杰老师的<通往卓越管理的阶梯>和Ray Zhang大师的<产品创新管理的十八般武艺>.他们2个人都谈到了一个关于招 ...

  7. cnblogs和org2blog使用总结

    <?xml version="1.0" encoding="utf-8"?> cnblogs和org2blog使用总结 cnblogs和org2bl ...

  8. JSON http://www.cnblogs.com/haippy/archive/2012/05/20/2509329.html

    js: JSON.stringify(idinfo)//将对象转化为 JSON串 //查询后为将json串赋值给表单 function _form1_load() {             AOS. ...

  9. 挖坑挖到cnblogs.com来...

    这几年一直在cppblog.com上敲字, 因为开帖时满脑袋都是C++, 所以选了它~ 懒懒散散竟然也敲了四年多, 真是难得的有'毅力'啊- 回头看看这一年越来越不务正业了,C++越来越少, 到是当年 ...

  10. 博客园 cnblogs博客添加Google Analytics统计

    在cnblogs的文章列表中只可以看到自己的每篇文章的页面浏览量,没有详细的统计信息.Google Analytics作为强大的统计工具,能得到几乎所有想要的统计信息,是博客不可多得的好工具,本文介绍 ...

最新文章

  1. 为什么很难训练深度神经网络?
  2. 基于SSM的餐饮工业化管理系统-计算机毕业设计
  3. VC++编译链接原理与过程
  4. Intel Realsense D435 连续验证 摄像头初始化 hardware_reset() 失败案例
  5. c语言程序设计开卷考试b卷,C语言程序设计(B)试卷_杨崇联(A1).doc
  6. PaddlePaddle训练营——公开课——AI核心技术掌握——第1章迈入现代人工智能的大门——深度学习简介
  7. es文件浏览器怎么用_es文件浏览器电视版下载-es文件浏览器电视tv版下载v4.2.3.4 安卓最新版...
  8. IOS开发基础之单例模式
  9. kubernetes之node 宕机,pod驱离问题解决
  10. OOA OOD OOP
  11. Apache POI操作Excel的坑
  12. Git 基础(六)—— 工作区和暂存区与 Git 对修改的管理
  13. 裤子尺码对照表eur40_欧洲40的尺码具体部位多少
  14. 基于GoLang实现API短信网关
  15. DaVinci Resolve Studio 15(达芬奇调色软件) Mac永久破解激活方法
  16. linux下openvpn服务搭建
  17. 笔记本+显示器常用设置总结
  18. 咖说 | 「延展与重构」数字艺术的新可能
  19. submit()和onsubmit()的区别
  20. { content-visibility: auto; contain-intrinsic-size: 1px 5000px;}

热门文章

  1. 霜降已至,你妈喊你加裤添衣!感恩老妈,就送她智慧云谷新风机
  2. EAccessViolation
  3. linux 下perl离线包下载
  4. android-第一行代码-第六章数据储存——持久化技术 含MMKV和Room新知识点(温故而知新)学习记录
  5. 为什么开发效率这么低,时间都去哪了?
  6. 第十届江泽涵杯数学建模与计算机应用竞赛试题,2016江泽涵杯一等奖论文.doc...
  7. ps裁剪和裁切的区别_ps裁剪工具怎么用?调整图像与画布的尺寸(三)
  8. Leetcode 1324. Print Words Vertically
  9. HNOI 2018 滚粗记
  10. JavaScript计算两条线的夹角