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

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);}}}
http://www.lryc.cn/news/209995.html

相关文章:

  • MyBatis的使用(XML映射文件)
  • localhost知识
  • PyTorch入门学习(八):神经网络-卷积层
  • 【EI会议征稿】 2024年遥感、测绘与图像处理国际学术会议(RSMIP2024)
  • MySQL 8 - 处理 NULL 值 - is null、=null、is not null、<> null 、!= null
  • 高教社杯数模竞赛特辑论文篇-2018年C题:大型百货商场会员画像描述(附获奖论文及MATLAB代码实现)
  • #力扣:2315. 统计星号@FDDLC
  • 设计模式——单例模式详解
  • 一、W5100S/W5500+RP2040树莓派Pico<静态配置网络信息>
  • 【C++的OpenCV】第十四课-OpenCV基础强化(二):访问单通道Mat中的值
  • elementUI el-collapse 自定义折叠面板icon 和 样式 或文字展开收起
  • 如何用个人数据Milvus Cloud知识库构建 RAG 聊天机器人?(上)
  • 2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP
  • PostMan 之 Mock 接口测试
  • LuatOS-SOC接口文档(air780E)--libgnss - NMEA数据处理
  • 基于华为云 IoT 物联网平台实现家居环境实时监控
  • 【开源框架】Glide的图片加载流程
  • win10下Mariadb绿色版安装步骤
  • wiresharak捕获DNS
  • vue源码分析(一)——源码目录说明
  • 【深度学习】吴恩达课程笔记(二)——浅层神经网络、深层神经网络
  • UI自动化概念 + Web自动化测试框架介绍
  • 在 macOS 上的多个 PHP 版本之间切换
  • 地址解析协议ARP
  • Go学习第十三章——Gin入门与路由
  • [减脂期食谱] 自制千岛酱
  • Android 系统架构
  • 【Docker】Python Flask + Redis 练习
  • shell_52.Linux测试与其他网络主机的连通性脚本
  • OpenCV C++ 图像处理实战 ——《缺陷检测》