開發小細節系列之一
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
- iOS開發細節iOS
- 小細節
- Vue、Javascript小細節VueJavaScript
- 小程式開發所遇的問題以及一些小細節
- 沈向洋等人論文詳解微軟小冰,公開研發細節微軟
- 提高javascript效能的小細節JavaScript
- oracle並行的小細節Oracle並行
- JAVA學習系列之一-搭建開發環境Java開發環境
- DB2開發系列之一——基本語法DB2
- 微信開發系列之一 - 微信公眾號開發的開發環境搭建開發環境
- Hadoop系列番外篇之一文搞懂Hadoop RPC框架及細節實現HadoopRPC框架
- 機器級程式的小細節
- 一個小的技術細節
- WAS 開發需要注意的一些細節
- Spring IoC註解式開發無敵詳細(細節豐富)Spring
- 深入小程式系列之一:小程式核心原理及模擬
- 函式解構引數小細節函式
- Java細緻末節小錯記錄Java
- 看FCOS時的小細節總結
- Integer類小細節隨筆記錄筆記
- Vue.js 和 MVVM 的小細節Vue.jsMVVM
- 筆記——Android 中的小細節筆記Android
- 遊戲開發中常見細節優化實踐遊戲開發優化
- 微信小程式開發–視訊教程系列微信小程式
- Vue 2升級 Vue 3初探小細節Vue
- Java小細節:List可以add(null)嗎?JavaNull
- 你需要注意的Java小細節(一)Java
- java web開發這些細節你真的掌握了嗎JavaWeb
- 五個你所不知道的Flutter開發細節Flutter
- 分投趣(Fintoch)系統技術開發細節分析
- 益古云商商城系統程式設計開發細節程式設計
- Android CardView 開發過程中要注意的細節AndroidView
- 小程式開發常見踩坑系列(下)
- Android的細節知識彙總系列(一)Android
- 測試驅動的Rails開發系列之一——分層架構AI架構
- 微信小程式開發系列(一) :開發環境搭建和微信小程式的檢視設計與開發微信小程式開發環境
- JS 一些優化效能的小細節JS優化