2013-07-31 20 views

答えて

31

あなただけの次の操作を行う必要があり、非常に簡単です:

1.-まずGsonオブジェクト作成します。その後、あなたのList<String[]>ための特派Typeが(なおます

Gson gson = new Gson(); 

2.-をあなたによるJavaのtype erasureList<String[]>.classような何かを行うことはできません):

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

3.- FiのJSONをタイプtypeの構造に解析します。

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

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のを見てみましょうすることはあなたのために重要である:我々はまた、任意の複雑な要素タイプデフォルトでnullオブジェクトの場合

Gsonで、多次元配列をサポートしませんnullとして変換します。 Ref. しかし、後でやりたい場合は、それらの属性をスキャンするように設定できます。

Gsonに実装されている既定の動作では、nullオブジェクトフィールドは無視されます。これにより、よりコンパクトな出力形式が可能になります。ただし、クライアントはJSON形式がJavaに変換されるため、これらのフィールドのデフォルト値を定義する必要があります。

は、ここでは、出力nullにGsonインスタンスを構成します方法は次のとおりです。あなたの問題で

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

多分あなたはそれを設定する必要はありません。

私はそれが役に立ちそうです。

関連する問題