zoukankan      html  css  js  c++  java
  • 大话 JSON 之 JSONObject.getString(“”) 方法 和 JSONObject.optString(“”) 的区别

    运行以下代码:

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

      

  • 相关阅读:
    mybatis
    Hello mybatis
    linux各种终端类型的区别和概念
    页面对象的定位
    laravel 操作 redis
    Python应用与实践
    Mysql与Oracle区别
    PHP 中 call_user_func 函数 和 call_user_func_array 函数的区别
    php依赖注入
    Linux/Unix 怎样找出并删除某一时间点的文件
  • 原文地址:https://www.cnblogs.com/Jackie-zhang/p/6071769.html
Copyright © 2011-2022 走看看