2014-03-13 11 views
0

에 문자에서 종결되지 않은 객체는 내가 JSON 문자열을 구문 분석하고org.json.JSONException : 안드로이드

이 org.json.JSONException 오류에 직면 문자에서 종결되지 않은 객체 (25)

내 JSON 페이스 북

에서 검색을
{Response: responseCode: 200, graphObject: GraphObject{graphObjectClass=GraphObject, state={"data":[{"venue":{"id":108242939200809,"zip":"","longitude":11.4,"latitude":62.5833,"street":""},"location":"Røros, Norway","eid":1473462312875161,"pic_big":"https:\/\/fbcdn-profile-a.akamaihd.net\/static-ak\/rsrc.php\/v2\/yn\/r\/5uwzdFmIMKQ.png","pic_small":"https:\/\/fbcdn-profile-a.akamaihd.net\/static-ak\/rsrc.php\/v2\/yy\/r\/XcB-JGXohjk.png","description":"Test","name":"Test"},{"venue":{"id":105818232792451,"zip":"","longitude":108.217,"latitude":16.0167,"street":""},"location":"Hòa Vang","eid":1425682134338854,"pic_big":"https:\/\/fbcdn-profile-a.akamaihd.net\/static-ak\/rsrc.php\/v2\/yn\/r\/5uwzdFmIMKQ.png","pic_small":"https:\/\/fbcdn-profile-a.akamaihd.net\/static-ak\/rsrc.php\/v2\/yy\/r\/XcB-JGXohjk.png","description":"test","name":"Test"}]}}, error: null, isFromCache:false} 

내 JSON 파서는

public static JSONArray parse(Response response) throws JSONException{   
     JSONArray jsonArray=new JSONArray(response.toString()); 
     return jsonArray; 
    } 

그러는하십시오이다 나. 고맙습니다.

+0

Volley + GSON을 사용해 보셨나요? 구현하기가 꽤 쉽습니다. 자습서를 확인하십시오 : http://blog.aimanbaharum.com/2014/02/android-development-5-using-volley-and.html – AimanB

답변

1

JSON이 유효하지 않습니다. 모든 변수 이름은 따옴표로 묶어야합니다.

+0

안녕하세요 개비, 더 자세히 설명해 주시겠습니까? 이것은 내가 페이스 북에서 얻는 것이다. 어떻게 수정합니까? 고맙습니다. – user3359419

+0

상태 다음의 모든 변수 이름이 그 주위에 ""어떻게 표시되는지 확인하십시오. 맞습니다. 처음 몇 가지는 어떻게 보이지 않습니까? 그건 잘못되었습니다. 구문 분석을 시도 할 때 변수 이름이 어디에서 끝나는 지 알지 못하기 때문에 충돌이 발생합니다. –

3

내가처럼 해결 같은 오류 & 받고 있어요 :

GraphResponse 응답;

전 :

 JSONObject jObjResponse = new JSONObject(response.toString()); 

후 :

JSONObject jObjResponse = new JSONObject(String.valueOf(response.getJSONObject())); 
4

그냥 JSONObject graphObj =response.getJSONObject();를 사용하고 graphObject을 얻을 것이다.

0

변경

JSONArray jsonArray=new JSONArray(response.toString()); 

JSONObject start = new JSONObject(String.valueOf(response.getJSONObject())); 

후 직접 호출 그것은 당신에게 "데이터"JSON 배열을 제공

JSONArray data = start.getJSONArray("data"); 

합니다.

0
try { 
      JSONObject jsonData = response.getJSONObject(); 
      JSONArray jsonArray = jsonData.getJSONArray("data"); 

      Log.e("MainActivity ", "jsondata --> " + jsonArray.toString(2)); 
      Log.e("MainActivity ", "jsonArray.length()-> " + jsonArray.length()); 

      likesPojos.clear(); 
      for (int i = 0; i < jsonArray.length(); i++) { 

       JSONObject json = jsonArray.getJSONObject(i); 

       Log.e("MainActivity ", "message --> " + json.getString("name")); 
       Log.e("MainActivity ", "id --> " + json.getString("id")); 

       LikesPojo likesPojo = new LikesPojo(); 
       likesPojo.setId(json.getString("id")); 
       likesPojo.setName(json.getString("name")); 
       likesPojos.add(likesPojo); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
관련 문제