2012-11-18 4 views
-4

응답으로 JSON을 반환하는 웹 서비스를 사용하고 있습니다. 나는 응답을 파싱하고 객체의 목록을 만들고 싶다. 안드로이드에서 파싱 된 데이터를 UI에 표시하는 방법을 모르겠습니다. 여기서 사용자는 목록 (즉, 두바이 몰 또는 두바이 미디어 도시 또는 두바이 축제)에서 하나의 항목을 선택할 수 있습니다.android에서 JSON을 구문 분석하고 ListVIew에서 데이터 목록을 표시하려면 어떻게해야합니까?

public class MyLocation extends MapActivity { 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.location); 

    initButtons(); 

    initMapView(); 
    initMyLocation(); 
        jObject=getJSONFile("http://loyaltier.com/app/mobile/code/places/Maps.php"); 
} 
    private JSONObject getJSONFile(String URL) { 
    JSONObject jObject=null; 
    HttpGet httpGet=new HttpGet(URL); //http://loyaltier.com/app/mobile/code/places/Maps.php 
    HttpClient httpClient=new DefaultHttpClient(); 
    HttpResponse httpResponse; 
    StringBuilder stringBuilder=new StringBuilder(); 
    try{ 
     httpResponse=httpClient.execute(httpGet); 
     HttpEntity httpEntity=httpResponse.getEntity(); 
     InputStream inputStream=httpEntity.getContent(); 
     int c; 
     while((c=inputStream.read())!=-1){ 
      stringBuilder.append((char)c); 
     } 
    }catch(Exception e){ 
     e.printStackTrace(); 
    } 
    try{ 
     jObject=new JSONObject(stringBuilder.toString()); 
    }catch(JSONException e){ 
     Log.e("Log_tags ", "Error parsing data "+e.toString()); 
    } 
    return jObject; 
} 
} 

답변

0

응답 데이터를 구문 분석하기 위해 JACKSON lib를 사용할 수 있습니다. 구문 분석에 대한 몇 가지 예를 들어이 게시물을했다 다음은

http://w2davids.wordpress.com/android-json-parsing-made-easy-using-jackson/

GSON/Jackson in Android 그런 다음 당신이 List View를 사용하는 지점 개체의 목록을 표시합니다. 예를 들어 this out을 확인하십시오.

+0

같은 지점 ID로 등 JSON을 통해 JSON 요소에 액세스 할 수 없습니까? 잭슨 만 사용합니까? 감사합니다 – user1797707

+0

잭슨 파싱 코드와 자바 빈 클래스를 게시하시기 바랍니다 ... –

1

jObject.getString (name);을 사용할 수 있습니다. 이름으로 매핑 된 값을 반환합니다.

0

GSON으로 작성하지만 프로그램은 gsonFoo 메소드에서 log.i를 표시하지 않습니다. 왜? 문제가 무엇입니까?

Thing.java :

package org.example.loyaltier; 

public class Thing { 
    String branchId=null; 
    String branchCode=null; 
    String branchName=null; 
    String branchTel=null; 
    String address=null; 
    String cityName=null; 
    String countryName=null; 
    String latitude=null; 
    String longitude=null; 
    String workingHours=null; 
} 

MainActivity.java :

public class MyLocation extends MapActivity { 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.location); 
     try { 
      Log.i("THISSSSSSSSS", "ISSSSSSSSS"); 
      Log.i("FFOOOORRRR", "YYOUUUUUUUUU"); 
      gsonFoo(); 
      } catch (Exception e1) { 
     Log.i("catch", "catch"); 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } 
} 
public void gsonFoo() throws Exception 
{ 
    Gson gson = new Gson(); 
    Thing thing = gson.fromJson(new      FileReader("http://loyaltier.com/app/mobile/code/places/Maps.php"), Thing.class); 
System.out.println(gson.toJson(thing)); 
    Log.i("GSOOOON", "FOOOO"); 
    } 
} 
관련 문제