数组"/>
Gson 字符串常用转换方式(集合转换为Json数组
- 数组转换为 Json 字符串:
GsonUtils.toJson(itemListBean.getImgs())
- json 字符串转换为数组
Gson().fromJson(goodsDbBean.getImgs(), String[].class)
- Json 转换为已知实体类
GsonUtils.parseJSON(result, AFileInfoBean.class);
- Json 转换为已知实体类集合
List<String> imgList = Arrays.asList(new Gson().fromJson(goodsDbBean.getImgs(), String[].class))
- Json 转换为 未知实体类
HashMap params = GsonUtils.parseJSON(jsonParams, new TypeReference<HashMap<String, String>>() {}.getType());
GsonUtils.java
public class GsonUtils {public static <T> T parseJSON(String json, Class<T> clazz) {Gson gson = GsonFactory.getSingletonGson();T info = gson.fromJson(json, clazz);return info;}public static <T> T parseJSON(String json, Type type) {Gson gson = GsonFactory.getSingletonGson();T info = gson.fromJson(json, type);return info;}public static <T> List<T> jsonToList(String json, Class<? extends T[]> clazz) {Gson gson = GsonFactory.getSingletonGson();T[] array = gson.fromJson(json, clazz);return Arrays.asList(array);}/*** @param json* @param clazz* @return*/public static <T> ArrayList<T> jsonToArrayList(String json, Class<T> clazz) {ArrayList<T> arrayList = new ArrayList<>();try {Type type = new TypeToken<ArrayList<JsonObject>>() {}.getType();ArrayList<JsonObject> jsonObjects = GsonFactory.getSingletonGson().fromJson(json, type);for (JsonObject jsonObject : jsonObjects) {arrayList.add(GsonFactory.getSingletonGson().fromJson(jsonObject, clazz));}} catch (Exception e) {e.printStackTrace();}return arrayList;}private GsonUtils() {}public static String toJson(Object obj) {try {return GsonFactory.getSingletonGson().toJson(obj);} catch (OutOfMemoryError error) {NLog.e("GsonUtils", "数据量过大,使用FastJson 解析");return JSON.toJSONString(obj);}}}
更多推荐
Gson 字符串常用转换方式(集合转换为Json数组
发布评论