Нет необходимости создавать TypeToken
только для массива.Gson будет десериализовать в тип массива просто отлично.
Если у вас есть массив, вам не нужно явно перебирать его содержимое только для печати.Вы можете использовать один из методов Arrays.toString()
.
Вот пример.
// output:
// [{value1=one, value2=1}, {value1=two, value2=2}, {value1=three, value2=3}]
import java.util.Arrays;
import com.google.gson.Gson;
public class Foo
{
public static void main(String[] args)
{
Gson GsonObject = new Gson();
String JSInput = "[{\"value1\":\"one\",\"value2\":1},{\"value1\":\"two\",\"value2\":2},{\"value1\":\"three\",\"value2\":3}]";
TabClass[] Input_String = GsonObject.fromJson(JSInput, TabClass[].class);
System.out.println(Arrays.toString(Input_String));
}
}
class TabClass
{
private String value1;
private int value2;
@Override
public String toString()
{
return String.format(
"{value1=%s, value2=%d}",
value1, value2);
}
}
В противном случае, если вы предпочитаете явно выполнять итерацию по всем компонентам массива, с Java у вас естьнесколько вариантов того, как это сделать.Простым является использование конструкции цикла for-each.
for (TabClass tab : Input_String)
{
System.out.println(tab);
}
(Кстати, «Input_String» не является хорошим именем для этого массива TabClass
. Более описательное имя может быть «»вкладки».)