開發小細節系列之一
JSON解析中,get方法和opt方法的區別。
之前聽說能用opt就儘量不用get,說是opt會提供預設值,比get保險一些。今天還是從原始碼角度看一下這兩者的區別吧。
public JSONArray getJSONArray(String name) throws JSONException {
Object object = get(name);
if (object instanceof JSONArray) {
return (JSONArray) object;
} else {
throw JSON.typeMismatch(name, object, "JSONArray");
}
}
可以看到,get方法使用中是會丟擲異常的。
public JSONArray optJSONArray(String name) {
Object object = opt(name);
return object instanceof JSONArray ? (JSONArray) object : null;
}
總得來說,如果你在開發中使用get方法,就需要用try catch語句限制住。而使用opt方法時則要注意結果可能為空,要記得加為空判斷。一般情況下,用opt是完全可以替代get方法的。
相關文章
- 13. iOS開發小細節--OC篇iOS
- 小細節
- Hadoop系列番外篇之一文搞懂Hadoop RPC框架及細節實現HadoopRPC框架
- Vue、Javascript小細節VueJavaScript
- VINS 細節系列 - 預積分
- 沈向洋等人論文詳解微軟小冰,公開研發細節微軟
- 深入小程式系列之一:小程式核心原理及模擬
- 機器級程式的小細節
- 一個小的技術細節
- 微信開發系列之一 - 微信公眾號開發的開發環境搭建開發環境
- Spring IoC註解式開發無敵詳細(細節豐富)Spring
- 函式解構引數小細節函式
- Java小細節:List可以add(null)嗎?JavaNull
- Integer類小細節隨筆記錄筆記
- 看FCOS時的小細節總結
- Java細緻末節小錯記錄Java
- Android的細節知識彙總系列(一)Android
- 遊戲開發中常見細節優化實踐遊戲開發優化
- CocoaPods 系列之一 製作公開庫
- Vue 2升級 Vue 3初探小細節Vue
- Camera開發系列之一 顯示攝像頭實時畫面
- 五個你所不知道的Flutter開發細節Flutter
- 益古云商商城系統程式設計開發細節程式設計
- java web開發這些細節你真的掌握了嗎JavaWeb
- 分投趣(Fintoch)系統技術開發細節分析
- 星球MetaX智慧合約系統DAPP開發(功能細節)APP
- 小程式開發常見踩坑系列(下)
- 軟體開發專案文件系列之一文件綜述
- 解讀 AI 引擎 MindSpore 開發實踐與技術細節AI
- 解密Prompt系列6. lora指令微調扣細節-請冷靜,1個小時真不夠~解密
- PHP實戰系列之一:0基礎開發移動端報名功能PHP
- 深入Weex系列(九)Weex SDK可借鑑細節總結
- Java高階開發必會的50個效能優化細節Java優化
- LayIM.AspNetCore Middleware 開發日記(五)Init介面實現細節NetCore
- 開發者談F2P模式:細節決定成敗模式
- Go 開發時要了解的 1 個記憶體模型細節Go記憶體模型
- BSEX交易所繫統技術開發詳情(細節分析)
- go-admin線上開發平臺學習-3[細節解析]Go
- go-admin線上開發平臺學習-4[細節解析]Go