2016-12-24 102 views
0
{ 
    "status":"ok", 
    "cookie":"dr.steve|akscjn", 
    "cookie_name":"wordpress_logged_in", 
    "user": { 
     "id":330, 
     "username":"dr.steve", 
     "nicename":"steve", 
     "email":"[email protected]", 
     "url":"http:\/\/www.company.com", 
     "registered":"2016-12-15 22:21:05", 
     "displayname":"Dr.Steve", 
     "firstname":"Dr", 
     "lastname":"Steve", 
     "nickname":"steve", 
     "description":"Lorem ipsum", 
     "capabilities":"", 
     "avatar":null 
    } 
} 

響應特定領域我有這樣的JSON響應,我想唯一的ID字段從這個JSON,我覺得有兩個嵌套的數組,但我歌廳錯誤解析JSON在Android的

E /錯誤:JSON解析錯誤:值{ 「ID」:330,.........}在類型org.json.JSONObject的用戶不能被轉換爲JSONArray

此我的代碼

if (jsonStr != null) { 
        try { 

         JSONArray ja = new JSONObject(jsonStr).getJSONArray("user"); 
         JSONObject c = ja.getJSONObject(1); 
         String id = c.getString("id"); 

         temp2 = id; 

         Log.v("id---->",temp2); 

         } 
        } catch (final JSONException e) { 
         Log.e("Error", "Json parsing error: " + e.getMessage()); 
         runOnUiThread(new Runnable() { 
          @Override 
          public void run() { 
           Toast.makeText(getApplicationContext(), 
             "Json parsing error: " + e.getMessage(), 
             Toast.LENGTH_LONG) 
             .show(); 
          } 
         }); 

        } 
       } else { 
        Log.e("Error", "Couldn't get json from server."); 
        runOnUiThread(new Runnable() { 
         @Override 
         public void run() { 
          Toast.makeText(getApplicationContext(), 
            "Couldn't get json from server. Check LogCat for possible errors!", 
            Toast.LENGTH_LONG) 
            .show(); 
         } 
        }); 

       } 

任何人都可以告訴我在哪裏犯了一個錯誤如何從這個json獲得id字段?

回答

0

user屬性是一個具體的對象不是一個數組,從而嘗試讀它作爲對象:

JSONObject user = new JSONObject(jsonStr).getJSONObject("user"); 
0

"user":{是一個對象。

數組有方括號。您的數據中沒有陣列