关于Gson对于Array和List的 serialize 输出. 都是中括号括起来的.
1Gson gson=new Gson(); 2String[] arrays=new String[]{"a","b","c"}; 3List<String> list=new ArrayList<String>(); 4list.add("listA"); 5list.add("listB"); 6list.add("listC"); 7System.out.println(gson.toJson(arrays));//["a","b","c"] 8System.out.println(gson.toJson(list));//["listA","listB","listC"]
所以需要在deserialize中注意泛型的匹配.
1 String jsonArrayStr="[\"arrayA\",\"arrayB\",\"arrayC\"]"; 2 Type arrayType=new TypeToken<String[]>(){}.getType(); 3 String[] rstArray=gson.fromJson(jsonArrayStr,arrayType); 4 for (String s : rstArray) { 5 System.out.println(s);//arrayA //arrayB //arrayC 6 } 7 8 String jsonListStr="[\"listA\",\"listB\",\"listC\"]"; 9 Type listType=new TypeToken<List<String>>(){}.getType(); 10 List<String> rstList=gson.fromJson(jsonListStr,listType); 11 for (String s : rstList) { 12 System.out.println(s);//listA //listB //listC 13 }