2016-07-16 2 views
0

JSONObject를 파싱하여 사용자 정의 모델에 저장하려고했습니다. 나는 모든 노드가 된 JSONObject에서 오는 확신 할 수 없다, 그래서 내가 모든 항목 검사 :모델에 대한 JSON은 항목에 대한 예외를 회피합니다.

try { 
     object.setId(jsonObject.getInt(ID)); 
    } catch (JSONException e) {} 

    try { 
     object.setParentId(jsonObject.getInt(PARENT_ID)); 
    } catch (JSONException e) {} 

    try { 
     object.setIsActive(jsonObject.getBoolean(IS_ACTIVE)); 
    } catch (JSONException e) {} 

    .... and ect. 

많은 시도의 \ 어획량을 피할 수있는 방법이 있습니까?

+0

하나 개의 큰 시도를 포장하거나이 바깥에 절을 던졌습니다 추가 할 수 있습니다 기능? – evaitl

+0

만약 내가 하나의 큰 시도와 예를 들어있다. 두 번째 항목이 실패하면 "afrer second"항목에 대한 데이터가 손실됩니다. – user5599807

답변

4

'get'대신 'opt'방법을 사용해보십시오. 자세한 내용은 link입니다.

1

JSON 구문 분석에 어떤 라이브러리를 사용하고 있는지 알 수는 없지만 시도해 볼 수는 있습니다.

먼저 응답 붙여 넣기

1) http://www.jsonschema2pojo.org/

2)에 소스 유형에

3) 선택 JSON을 이동

4) 선택 GSON 주석 스타일

5) 미리보기를 클릭하십시오.

모달 클래스를 생성합니다. Gson 라이브러리를 사용하여 구문 분석하십시오. 당신은

compile 'com.google.code.gson:gson:2.3.1' 

이제 build.gradle 파일에 대한 종속성을 추가 JSON을 구문 분석 선 아래 사용하고 모달 클래스로

YourModalClass value = GSON.fromJSON(jsonString, YourModalClass.class);