2013-07-31 12 views

Odpowiedz

31

To bardzo proste, wystarczy wykonać następujące czynności:

1.- Po pierwsze utworzyć obiekt Gson:

Gson gson = new Gson(); 

2.- Następnie dostać korespondent Type dla List<String[]> (zauważmy, że nie można zrobić coś takiego List<String[]>.class powodu Java type erasure):

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

3.- Internetu nally parsować JSON w strukturę typu type:

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

Spójrz na 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 jest ważne dla Ciebie: Wspieramy również tablice wielowymiarowe, z dowolnie złożonych typów elementów

Dla null obiektów Gson domyślnie nie będzie przekonwertuj jako wartość null. Ref. Ale możesz skonfigurować skanowanie atrybutów nulls, jeśli chcesz to zrobić później.

Domyślnym zachowaniem zastosowanym w Gson jest ignorowanie pól obiektu o wartości NULL. Pozwala to na uzyskanie bardziej kompaktowego formatu wyjściowego; jednak klient musi zdefiniować wartość domyślną dla tych pól, ponieważ format JSON jest konwertowany z powrotem na jego Javę.

Oto w jaki sposób można skonfigurować instancję Gson do wyjściowej wartości null:

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

W problemu może nie trzeba skonfigurować to.

Mam nadzieję, że to pomaga.