一、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-hant/n/184448.html
微信掃一掃
支付寶掃一掃