2013-07-31 17 views

risposta

31

Questo è molto semplice, basta effettuare le seguenti operazioni:

1.- In primo luogo creare l'oggetto Gson:

Gson gson = new Gson(); 

2.- quindi ottenere il corrispondente Type per il vostro List<String[]> (Si noti che non si può fare qualcosa di simile List<String[]>.class causa type erasure di Java):

Type type = new TypeToken<List<String[]>>() {}.getType(); 

3.- Fi nally analizzare il JSON in una struttura di tipo type:

List<String[]> yourList = gson.fromJson(yourJsonString, type); 
11

Date un'occhiata a Gson docs

Gson gson = new Gson(); 
int[] ints = {1, 2, 3, 4, 5}; 
String[] strings = {"abc", "def", "ghi"}; 

(Serialization) 
gson.toJson(ints);  ==> prints [1,2,3,4,5] 
gson.toJson(strings); ==> prints ["abc", "def", "ghi"] 

(Deserialization) 
int[] ints2 = gson.fromJson("[1,2,3,4,5]", int[].class); 
==> ints2 will be same as ints 

Tis è importante per voi: Sosteniamo anche array multidimensionali, con tipi di elementi arbitrariamente complessi

Per null oggetti, Gson di default non lo farà convertire come null. Ref. Ma è possibile configurare la scansione di quegli attributi nulls se si desidera farlo dopo.

Il comportamento predefinito implementato in Gson è che i campi oggetto nullo vengono ignorati. Ciò consente un formato di output più compatto; tuttavia, il client deve definire un valore predefinito per questi campi poiché il formato JSON viene riconvertito nel suo Java.

Ecco come si potrebbe configurare un'istanza Gson null uscita:

Gson gson = new GsonBuilder().serializeNulls().create(); 

Nel vostro problema forse non è necessario configurare questo.

Spero che aiuti.

Problemi correlati