2015-06-05 44 views
2

我遇到問題。我想從具有3個數組的JSONObject訪問字符串(「名稱」),並試圖訪問這3個數組中的一個。從Android Studio中的JSON數組中獲取字符串

這是更大的數組。

{"id":[{"id":"2","name":"Yuliem"}],"success":1,"message":"Product successfully created."} 

我想訪問名爲id的那個,然後訪問「name」中的數據。

TAG_CODE = hospitalSelectedId; 
     hspCode = hospitalSelectedId; 
     TAG_IMEI = imei; 

     //Build the parameters 
     List<NameValuePair> params = new ArrayList<>(); 
     params.add(new BasicNameValuePair("code", TAG_CODE)); 
     params.add(new BasicNameValuePair("imei", TAG_IMEI)); 
     params.add(new BasicNameValuePair("long", String.valueOf(lon))); 
     params.add(new BasicNameValuePair("lat", String.valueOf(lat))); 
     params.add(new BasicNameValuePair("alt", String.valueOf(alt))); 

     //Getting JSON Object 
     JSONObject json = jsonParser.makeHttpRequest(url_login, "POST", params); 

     //Check logcat for response 
     Log.d("Create Response", json.toString()); 

     try { 
      success = json.getInt(TAG_SUCCESS); 
      //userId = ; 
      Log.d("User's id: ", String.valueOf(json.get("id"))); 

      if (success == 1) { 
       // finish closes the current Activity 
       // finish(); 

       Intent goHome = new Intent(LoginActivity.this, HomepageActivity.class); 
       startActivity(goHome); 
      } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 

上面的代碼給我

[{"id":"2","name":"Yuliem"}] 

但我不知道如何訪問 「名」。請幫助:)

回答

2

如果你想獲得「Yuliem」你可以這樣做:

String json = "{\"id\":[{\"id\":\"2\",\"name\":\"Yuliem\"}],\"success\":1,\"message\":\"Product successfully created.\"}"; 
JSONObject obj = new JSONObject(json); 
JSONArray array = (JSONArray) obj.get("id"); 
JSONObject innerObj = (JSONObject) array.get(0); 
Log.d("User's name: ",innerObj.get("name")); 
+0

你爲什麼把「\」?我使用php從數據庫中獲取數組。我怎麼能做同樣的事情,而不添加\? –

+0

它只是字符串的java轉義字符符號。如果你有你的字符串dynamicaly,你不需要'''在你的代碼中你說'Log.d(「User's id:」,String.valueOf(json.get(「id」)));'result = >'[{「id」:「2」,「name」:「Yuliem」}]'是我的代碼中的同一行=>'(JSONArray)obj.get(「id」);' – varren

+0

噢謝謝!它的工作,對於延遲答案抱歉,但我只是有機會去我的辦公桌,做了它,工作就像一個魅力! –