一、Json的基本概念
Json(JavaScript Object Notation)是一種輕量級的數據交換格式,易於閱讀和編寫,同時也易於機器解析和生成,逐漸成為Web Service應用中常用的數據格式。它的格式類似於Javascript中的對象和數組,但是其標準中規定的值類型更加嚴格,同時提供了更多的數據類型。
二、JsonObject.getString()方法概述
JsonObject.getString()是Json中常用的一個方法,就是獲取JsonObject中的一個字元串類型的值。其方法定義為:public String getString (String name)。其中name就是需要獲取值的key。
三、Json對象生成
JsonObject這個類中的大多方法都需要使用它的實例,而初始化一個JsonObject實例的方法有多種,下面我們來介紹其中兩種常見的方式:通過手工輸入和通過Json字元串
3.1 手工輸入JSONObject
JSONObject jsonObject=new JSONObject (); String name="Tom"; String job="Coder"; int age=25; try { jsonObject.put("name",name); jsonObject.put("job",job); jsonObject.put("age",age); } catch (JSONException e) { e.printStackTrace(); }
3.2 解析json字元串
除了通過手工輸入以外,我們可以通過解析Json字元串來生成一個JsonObject實例。常見的方法有JSONObject的構造函數和靜態方法parse(),下面我們來看一下它們的使用方法
//構造函數方式 String jsonString="{\"name\":\"Tom\",\"job\":\"Coder\",\"age\":25}"; JSONObject jsonObject = null; try { jsonObject = new JSONObject(jsonString); } catch (JSONException e) { e.printStackTrace(); } //parse方法方式 String jsonString2="{\"name\":\"Tom\",\"job\":\"Coder\",\"age\":25}"; JSONObject jsonObject2 = null; try { jsonObject2 = new JSONObject(jsonString2); } catch (JSONException e) { e.printStackTrace(); }
四、JsonObject.getString()使用實例
下面我們來看一個實際用例,結合代碼說明JsonObject.getString()的使用方法和注意事項。
4.1 使用示例
String jsonString="{\"name\":\"Tom\",\"job\":\"Coder\",\"age\":25}"; try { JSONObject jsonObject = new JSONObject(jsonString); String name=jsonObject.getString("name"); String job=jsonObject.getString("job"); int age=jsonObject.getInt("age"); System.out.println("name:"+name+",job:"+job+",age:"+age); }catch (JSONException e){ e.printStackTrace(); }
4.2 字元串獲取null
有時候,我們從json中獲取某個欄位的值時,該欄位可能為空(null),下面我們演示一下JsonObject.getString()不能獲取null的情況,而需要使用.optString()來替代getString()的使用場景。
String jsonString="{\"name\":\"Tom\",\"job\":null,\"age\":25}"; try { JSONObject jsonObject = new JSONObject(jsonString); String name=jsonObject.getString("name"); String job=jsonObject.getString("job"); int age=jsonObject.getInt("age"); }catch (JSONException e){ e.printStackTrace(); }
4.3 字元串獲取值類型不一致
在某些情況下,json中的一個欄位所對應的值的類型可能與代碼所期望的不一致。此時需要根據實際情況進行類型轉換。
String jsonString="{\"name\":\"Tom\",\"job\":\"Coder\",\"age\":\"25\"}"; try { JSONObject jsonObject = new JSONObject(jsonString); String name=jsonObject.getString("name"); String job=jsonObject.getString("job"); int age=Integer.parseInt(jsonObject.getString("age"));//需要將字元串類型的age轉換成int類型。 }catch (JSONException e){ e.printStackTrace(); }
五、總結
JsonObject.getString()方法是Json庫中用的最多的方法之一,通過本文的解析,更好的了解了其使用方法和使用注意事項。在實際使用中,需要根據情況靈活選擇合適的數據類型獲取方法。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/184448.html