2016-07-16 2 views
0

Ich versuchte, JSONObject zu analysieren und es im benutzerdefinierten Modell zu speichern. Ich kann nicht sicher sein, dass alle Knoten in JSONObject kommt, so lese ich jeden Artikel:JSON zum Modell Vermeiden von Ausnahmen für Elemente

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. 

ist es eine Möglichkeit, so viele versuchen \ Fänge zu vermeiden?

+0

Ein großer Versuch zu analysieren oder eine Klausel zu der einschließe wirft hinzufügen Funktion? – evaitl

+0

wenn ich einen großen Versuch habe und z. Das zweite Item schlägt fehl, ich werde Daten über "after securse" Items verlieren – user5599807

Antwort

4

Versuchen Sie, nicht 'get' sondern 'opt' Methoden zu verwenden. Hier ist ein link für weitere Details.

1

Ich weiß nicht, welche Bibliothek Sie für JSON-Parsing verwenden, aber Sie können dies versuchen.

Zuerst gehen zu

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

2) Fügen Sie Ihre Antwort

3) Wählen Sie json in Quelltyp

4) Wählen Sie Gson in Annotation Stil

5) Klicken Sie auf die Vorschau

Es wird eine modale Klasse für Sie generieren. Und verwenden Sie Gson-Bibliothek, um es zu analysieren. Sie können Abhängigkeiten für sie in build.gradle Datei

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

Jetzt unterhalb der Linie verwenden fügen Sie die json und wickeln Sie in Ihre Modal Klasse

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