当前位置: 首页 > news >正文

Android Gson工具类

public class GsonUtils {
/**
* @param object bean对象
* @return String json字符串
* @Title toJson
* @description 将javabean对象转成json字符串
*/
public static String toJson(Object object) {
Gson gson = new Gson();
String jsonString = gson.toJson(object);
return jsonString;
}

/**
* @param jsonString 要转换的json字符串
* @param cls bean对象的class
* @return T bean对象
* @Title changeJsonToBean
* @description 将json字符串转成bean对象
*/
public static <T> T changeJsonToBean(String jsonString, Class<T> cls) {
Gson gson = new Gson();
T t = gson.fromJson(jsonString, cls);
return t;
}

/**
* @param jsonString 要转换的json字符串
* @param cls bean对象的class
* @return T bean对象, 可能为空
* @Title changeJsonToBean
* @description 将json字符串转成bean对象
*/
@Nullable
public static <T> T changeJsonToBeanSafely(String jsonString, Class<T> cls) {
try {
return changeJsonToBean(jsonString, cls);
} catch (Exception ignore) {
}
return null;
}

/**
* @Title changeJsonToList
* @description 将json串转成list集合
* 这个类转换的有问题,请使用fromJsonList方法
*/
@Deprecated
public static <T> List<T> changeJsonToList(String jsonString, Class<T> cls) {
Gson gson = new Gson();
List<T> list = gson.fromJson(jsonString, new TypeToken<List<T>>() {
}.getType());
return list;
}

/**
* 解析列表
*/
public static <T> ArrayList<T> fromJsonList(String json, Class<T> cls) {
Gson gson = new Gson();
ArrayList<T> list = new ArrayList<T>();
JsonArray array = new JsonParser().parse(json).getAsJsonArray();
for (final JsonElement elem : array) {
list.add(gson.fromJson(elem, cls));
}
return list;
}

/**
* 解析列表
*/
@Nullable
public static <T> ArrayList<T> fromJsonListSafely(String json, Class<T> cls) {
try {
return fromJsonList(json, cls);
} catch (Exception e) {

}
return null;
}


/**
* 解析Map
*/
public static <T> List<Map<String, T>> changeJsonToListMaps(
String jsonString) {
List<Map<String, T>> list = null;
Gson gson = new Gson();
list = gson.fromJson(jsonString, new TypeToken<List<Map<String, T>>>() {
}.getType());
return list;
}

/**
* 解析map
*/
@Nullable
public static <T> List<Map<String, T>> changeJsonToListMapsSafely(String jsonString) {
try {
return changeJsonToListMaps(jsonString);
} catch (Exception e) {

}
return null;
}

/**
* 解析MAP
*/
public static <T> Map<String, T> changeJsonToMaps(String jsonString) {
Map<String, T> map = null;
Gson gson = new Gson();
map = gson.fromJson(jsonString, new TypeToken<Map<String, T>>() {
}.getType());
return map;
}

/**
* 解析MAP
*/
@Nullable
public static <T> Map<String, T> changeJsonToMapsSafely(String jsonString) {
try {
return changeJsonToMaps(jsonString);
} catch (Exception e) {

}
return null;
}
}

http://www.xdnf.cn/news/979111.html

相关文章:

  • 免下载苹果 IPA 文件重签名工具:快速更换应用名称和 BID的教程
  • xcode中project.pbxproj点开为空白问题
  • Linux Swap分区应该禁用吗?深入辨析其作用与性能优化
  • Spring @Qualifier,@Primary
  • 接收rabbitmq消息
  • 记录下three.js学习过程中不理解问题----材质(material)⑤
  • 在前端元素中,点击当前元素,但是却选中其他元素的文字的问题
  • Cesium圆锥渐变色实现:融合顶点着色器、Canvas动态贴图与静态纹理的多方案整合
  • 深度剖析:UI 设计怎样为小程序构建极致轻量体验
  • 在 Windows 上安装和配置 Redis 及可视化工具指南
  • C#接口代码记录
  • 物联网基础概述【一】
  • 容器化部署案例一wordpress
  • 递归法解N叉树的后序遍历
  • 若依微服务Openfeign接口调用超时问题
  • Java面向对象编程(OOP)深度学习解析
  • Flutter布局系统全面解析:从基础组件到复杂界面构建
  • ttyd:安全地通过网络共享您的 Linux 终端
  • Cpp 知识3
  • github action推送-构建准备步骤获取私有dockerhub镜像仓库镜像的一系列错误尝试
  • Solidity 开发从入门到精通:语法特性与实战指南
  • 在Linux下使用vscode使用交叉编译工具链的gdb对core文件进行堆栈、变量查看
  • Ubuntu下编译安装DLib的GPU版本并实现人脸检测和人脸关键点检测
  • “十五五”时期智慧城市赋能全国一体化数据市场建设:战略路径与政策建议[ 注:本建议基于公开政策文件与行业实践研究,数据引用截至2025年6月11日。]
  • 商品中心—3.商品可采可补可售的技术文档下
  • 前端面试宝典---事件循环面试题
  • 小白学Pinia状态管理
  • STM32G DMA串口发送接收
  • Linux开发工具之VsCode(Filezila、MobaXterm、Vim三合一)
  • 【笔记】NVIDIA AI Workbench 中安装 cuDNN 9.10.2