2015-12-23 43 views
2

有沒有一種簡單的方法從json rest web服務答案中恢復字段。 例如,這是一個JSON後一個答案:如何從json rest服務器應答中檢索字段?

{ 
     "name": "sam", 
     "city": "SF", 
     "number": "0017100000000" (optional), 
     "message": "xyz has occurred" 
    } 

我想在這個例子中檢索名稱和城市等 我應該使用正則表達式?

我有點新的這一切,所以不要猶豫,告訴我,如果我的問題是在幫助我雖然:)

+2

像[gson](https://github.com/google/gson)使用json解析器 – ndn

+0

切勿將正則表達式用於可輕鬆解析的內容。 – Identity1

+0

好的,謝謝!那麼就是一個gson解析器! – MultiTask70

回答

1

條件啞請從下面的代碼,以便從獲得的值JSON對象。爲此,您需要「java-json.jar」。

我已經共享了從json數組獲取數據的示例代碼。隨時提問任何問題。

public static void main(String[] args){ 
    try { 
     //Simple Json Object 
     JSONObject testObj= new JSONObject("{name: sam,city: SF,number:0017100000000,message: xyz has occurred}"); 

     System.out.println("Name in json\t" +testObj.get("name")); 
     System.out.println("City in json\t" +testObj.get("city")); 

     //If you want to get from array 
     JSONObject arrObj = new JSONObject("{interests : [{interestKey:Dogs}, {interestKey:Cats}]}"); 

     List<String> list = new ArrayList<String>(); 
     JSONArray array = arrObj.getJSONArray("interests"); 
     for(int i = 0 ; i < array.length() ; i++){ 
      list.add(array.getJSONObject(i).getString("interestKey")); 
     } 


    } catch (JSONException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 


}