iCo*_*unk 1 java string json list gson
我有一个像这样的字符串:
"[1,2,3,4,5,6,7,8,9]"
Run Code Online (Sandbox Code Playgroud)
如何将其转换为List,可以是int列表或字符串列表:
[1,2,3,4,5,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)
我尝试使用Gson:
List list = new Gson().fromJson(string, List.class);
Run Code Online (Sandbox Code Playgroud)
它让我:
[1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]
Run Code Online (Sandbox Code Playgroud)
我可以将double转换为int但我确信有更好的方法.
默认情况下,Gson Double用于任何数值.您需要指定所需的内容Integer
List<Integer> list = new Gson().fromJson(json, new TypeToken<List<Integer>>() {}.getType());
System.out.println(list);
Run Code Online (Sandbox Code Playgroud)
版画
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)
A TypeToken是一种获取泛型类型的黑客,以便Gson知道要使用什么.