2017-05-31 104 views
0

阅读在android系统活动JSON数组我知道如何解析JSON对象像下面使用recyclerview和cardview

{ 
    "users": [{ 
      "id": 2, 
      "username": "user", 
      "full_name": "user full name", 
      "profilePicture": "/images/profileimage.png" 
     }, 

     { 
      "id": 2, 
      "username": "user2", 
      "full_name": "user2 full name", 
      "profilePicture": "/images/profileimage2.png" 
     } 
    ] 
} 

使用recyclerview和cardview这样

try { 
       JSONObject response = new JSONObject(result); 
       JSONArray users= response.optJSONArray("users"); 
       feedsList = new ArrayList<>(); 

       for (int i = 0; i < users.length(); i++) { 
        JSONObject user = users.optJSONObject(i); 
        FeedItem item = new FeedItem(); 
        item.setTitle(user.optString("full_name")); 
        item.setThumbnail(user.optString("profilePicture")); 
        feedsList.add(item); 
       } 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 

,我已经打电话JSON对象下面的JSON我想读在Android的活动

[ 
    { 
     "id": 2, 
     "username": "user", 
     "full_name": "user full name", 
     "profilePicture": "/images/profileimage.png", 
     }, 

     { 
     "id": 2, 
     "username": "user2", 
     "full_name": "user2 full name", 
     "profilePicture": "/images/profileimage2.png", 
     } 
    ] 

任何人都知道如何我可以读这种类型的JSON开始的[不是{能帮我

+0

问题是什么?你说你可以解析JSON,但后来你说你不能? – Denny

+0

@Knight请检查我的答案。 –

+0

你的JSON是错误的在JSON LINT上检查它并检查我的答案@Denny –

回答

0

我设法首先调用JSONArray和解析一个JSONObjects 像下面

try { 

      JSONArray jArray = new JSONArray(result); 

      feedsList = new ArrayList<>(); 

      for (int i = 0; i < jArray.length(); i++) { 
       JSONObject user = jArray.optJSONObject(i); 
       FeedItem item = new FeedItem(); 
       item.setTitle(user.optString("full_name")); 
       item.setThumbnail(user.optString("profilePicture")); 
       feedsList.add(item); 
      } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 

谢谢您想法帮助我这么多!

0

尝试以下操作:

 try { 
       JSONObject response = new JSONObject(result); 
       JSONArray users= response.getJSONArray("users"); 
       feedsList = new ArrayList<>(); 

       for (int i = 0; i < users.length(); i++) { 
        JSONObject user = users.getJSONObject(i); 
        FeedItem item = new FeedItem(); 
        item.setTitle(user.getString("full_name")); 
        item.setThumbnail(user.getString("profilePicture")); 
        feedsList.add(item); 
       } 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
0

你JSON是错误的

右JSON

{ 
    "users": [{ 
      "id": 2, 
      "username": "user", 
      "full_name": "user full name", 
      "profilePicture": "/images/profileimage.png" 
     }, 

     { 
      "id": 2, 
      "username": "user2", 
      "full_name": "user2 full name", 
      "profilePicture": "/images/profileimage2.png" 
     } 
    ] 
} 

,并与替换代码

try { 
       JSONObject response = new JSONObject(result); 
       JSONArray users= response.getJSONArray("users"); 
       feedsList = new ArrayList<>(); 

       for (int i = 0; i < users.length(); i++) { 
        JSONObject user = users.getJSONObject(i); 
        FeedItem item = new FeedItem(); 
        item.setTitle(user.getString("full_name")); 
        item.setThumbnail(user.getString("profilePicture")); 
        feedsList.add(item); 
       } 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
1

你的错误是可以使用posts.length更换users.lenth

 try { 

     JSONObject response = new JSONObject(result); 
     JSONArray users= response.optJSONArray("users"); 
     feedsList = new ArrayList<>(); 

     for (int i = 0; i < users.length(); i++) { 
      JSONObject user = users.optJSONObject(i); 
      FeedItem item = new FeedItem(); 
      item.setTitle(user.optString("full_name")); 
      item.setThumbnail(user.optString("profilePicture")); 
      feedsList.add(item); 
     } 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
相关问题