博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
大话 JSON 之 JSONObject.getString(“”) 方法 和 JSONObject.optString(“”) 的区别
阅读量:7280 次
发布时间:2019-06-30

本文共 1176 字,大约阅读时间需要 3 分钟。

运行以下代码:

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"));  }

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

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的源码

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." );  }

 

  

 

转载于:https://www.cnblogs.com/Jackie-zhang/p/6071769.html

你可能感兴趣的文章
执行npm install 时会报 operation not permitted,unlink......错
查看>>
strcpy/strlen/strcat/strcmp面试总结
查看>>
20190412
查看>>
iOS开发-自动布局和自动旋转
查看>>
Sicily 1342. 开心的金明
查看>>
CTR预估中GBDT与LR融合方案
查看>>
CodeForces 598D Igor In the Museum
查看>>
POJ 3548 Restoring the digits
查看>>
CodeVS 1018 单词接龙(DFS)
查看>>
multer文件上传实例
查看>>
在微软伪静态处理机制下action导致伪静态的地址重现的问题
查看>>
The list of pre-build cross-compiler
查看>>
用Margin还是用Padding
查看>>
创建一个字符设备1.2
查看>>
git基本操作
查看>>
js中typeof的用法汇总[转载]
查看>>
【转】左手坐标系和右手坐标系
查看>>
spring原理案例-基本项目搭建 02 spring jar包详解 spring jar包的用途
查看>>
Mybatis获取数据库自增的主键值
查看>>
Project 2013 任务开始时间以及工期 不能自动更新
查看>>