2017-03-08 11 views
-1

을 java.lang.String의에 적용 할 수 없습니다.JSONArray 내가이 발리 onResponse이

무엇을 놓쳤습니까?

편집 :

[{"name":"josh","picture":"http:\/\/192.168.0.11\/pic.png"}] 
+1

응답을 공유 할 수 있습니까? "이름"및 "그림"값이 JSONArray이며 문자열이 아닌 것처럼 보입니다. – Shubham

+0

@Shubham 다음과 같습니다 :'[{ "name": "josh", "picture": "http : ///ip//pic.png"}]' –

+3

배열에 루프가 없습니다! –

답변

2

는이 응답을 구문 분석하는 작업을 수행!

try { 
      JSONArray info = new JSONArray(response); 

      for (int i =0; i<info.length() ; i++) { 
       JSONObject obj = info.getJSONObject(i); 
       String name = obj.getString("name"); 
       String picture = obj.getString("picture"); 
       Picasso.with(context).load(picture).into(profile); 
       user_name.setText(name); 
      } 


     } catch (JSONException e) { 
      e.printStackTrace(); 
      Toast.makeText(getApplicationContext(), "Error: " + e.getMessage(), Toast.LENGTH_LONG).show(); 
     } 
+0

답변 해 주셔서 감사합니다. –

+0

@RickJoe you'er welcome –

1

@Atef 토끼의 코멘트에 확장 :

JSONArray info = new JSONArray(response); 

String name = info.getJSONObject(0).getString("name"); 
String picture = info.getJSONObject(0).getString("picture"); 
Picasso.with(context).load(picture).into(profile); 
user_name.setText(name); 
+0

대단히 감사합니다. –

+0

수정 해 주신 것에 대해 감사드립니다. – Shubham

1

변화에 코드 아래에.

try { 
    JSONArray info = new JSONArray(response); 

    String name = info.getJSONObject(0).getString("name"); 
    String picture = info.getJSONObject(0).getString("picture"); 
    Picasso.with(context).load(picture).into(profile); 
    user_name.setText(name); 


} catch (JSONException e) { 
    e.printStackTrace(); 
    Toast.makeText(getApplicationContext(), "Error: " + e.getMessage(), Toast.LENGTH_LONG).show(); 
} 
+0

대단히 감사합니다, 친구. –