Sto tentando di analizzare json su java.JSON Stringa su oggetto Java utilizzando GSON
Ho la seguente stringa che è valida JSON in base alle jsonlint.com
private final static String LOC_JSON =
"["
+"{"
+" \"lat1\": 39.737567,"
+" \"lat2\": 32.7801399,"
+" \"long1\": -104.98471790000002,"
+" \"long2\": -96.80045109999998"
+"},"
+" ["
+" {"
+" \"lat\": {"
+" \"b\": 38.88368709500021,"
+" \"d\": 40.620468491667026"
+" },"
+" \"long\": {"
+" \"b\": -105.75306170749764,"
+" \"d\": -104.675854661387"
+" }"
+" }"
+" ]"
+"]";
Sto cercando di analizzarlo in un oggetto e ottengo il seguente errore. "Ci aspettavamo BEGIN_OBJECT ma era BEGIN_ARRAY at line 1 colonna 2"
Gson gson = new Gson();
BoxSearch b = gson.fromJson(LOC_JSON, BoxSearch.class);
BoxSearch è costituito da questo.
private Number lat1;
private Number lat2;
private Number long1;
private Number long2;
private Boxes[] boxes;
Caselle è un oggetto Latitudine e un oggetto Longitudine che sono entrambi definiti identici.
private String b;
private String d;
posso analizzare gli attributi di livello superiore (LAT1, Lat2, long1 e long2) in un più semplice oggetto BoxSearch che ha solo quei 4 attributi. Il problema arriva quando il json e l'oggetto sono più complessi. È persino possibile fare ciò che sto provando?
Spero di aver fornito informazioni sufficienti per ottenere aiuto. Sarei felice di fornire ulteriori informazioni o anche un progetto di test, se necessario. Lo sto facendo come test di junit.
Grazie.
possibile duplicato di [lancio di GSON "BEGIN atteso \ _OBJECT ma era BEGIN \ _ARRAY"?] (Http://stackoverflow.com/questions/9598707/gson-throwing-expected-begin-object-but-was-begin -array) - il tuo JSON è un array, non un oggetto. Avrai comunque un problema perché è un array contenente diversi tipi di oggetti (un oggetto e un array) che non puoi gestire senza scrivere un deserializzatore personalizzato. –
@BrianRoach è più simile a una risposta;) –
@RC. Si ... Hmm. Penso che forse lo sposterò, il vecchio Q risponde perché sta ricevendo l'errore, ma la risoluzione del suo caso è diversa –