2013-09-22 3 views
0

이 페이지에서 json을 검색하는 클라이언트가 있습니다. json 콘텐츠는 다음과 같습니다.JSON의 여러 항목을 배열로 파싱

{ 
    "0": { 
    "name": "McDonalds 2", 
    "address": "892 West 75th Street, Naperville, IL 60540" 
    }, 
    "1": { 
    "name": "McDonalds 1", 
    "address": "1298 South Naper Boulevard, Naperville, IL 60540" 
    }, 
    "2": { 
    "name": "Burger King 1", 
    "address": "2040 Aurora Avenue, Naperville, IL, 60540" 
    } 
} 

구문 분석에 문제가 있습니다. 나는 파싱을 시도 할 때 항상 예외를 얻는다. json을하는 것은 내 첫 번째 일이므로 정말 나쁜 일을하고있을 수도 있습니다. 이 코드는 내 코드입니다 :

어떻게하면 json 항목의 이름과 주소를 검색하여 식당 개체로 변환 할 수 있습니까?

+0

목록을 보려면 JSON 목록 표기법을 사용하십시오. 예 : http://www.w3schools.com/json/. –

답변

4

JSON 형식이 잘못되었습니다. this link을 참조하십시오. 올바른 코드는 다음과 같습니다. 당신은 무엇을 해야할지 알게 될 것입니다.

public static void parse(String jsonData) { 
    ArrayList<Restaurant> restaurantList= new ArrayList<Restaurant>(); 
    JSONObject jsonObject; 
    JSONObject jsonRestaurant; 

    try { 
     jsonObject= new JSONObject(jsonData); 
     for(int i=0;i<3;i++) { 
      Restaurant restaurant= new Restaurant(); 
      jsonRestaurant= jsonObject.getJSONObject(Integer.toString(i)); 
      restaurant.name= jsonRestaurant.getString("name"); 
      restaurant.address= jsonRestaurant.getString("address"); 
      restaurantList.add(restaurant); 
     } 
    } 
    catch(JSONException e) { 
     e.printStackTrace(); 
    } 
} 
관련 문제