google 的 gson 序列化器使用

应用场景:1.  公司安全方面要求 对所有文件路径进行加密,好我们框架里之前加了统一父类,能获取到所有的出参和入参;

2. 由于文件路径都是string类型,因此想要用json序列化器,其实我暂且并不是很清楚哪个序列化api更好一些,因此就随机使用了google

直接上代码吧:

应用实例:

  // 公司的出参 这里object可能是任何类型,因此要做下具体判断,比如排除 String(不对其进行序列化)
    // 这里就省略了
        Object response = new Object();
    // 初始化google的json序列化器
        GsonBuilder gsonBuilder = new GsonBuilder();
        JsonSerializer<String>  serializer = (filepath, typeOfSrc, context) ->
                this.needAES(filePath) ? : this.jsonElementForredis(filePath) : newJsonPrimite();
   //   注册指定要序列化的数据类型(这里文件路径是String类型,因此指定为String)
        gsonBuilder.registerTyprAdapter(String,class, serializer);
  //   创建序列化器
        Gson gson =  gsonBuilder.create();
  //   将 response 进行序列化
       String resStr = gson.toJson(response);
 //   反序列化返回对象 结束文件路径处理,将返回对象按照原有格式进行返回
       ObjectMapper mapper = new ObjectMapper();
        try {
           response =  mapper.readValue(resStr, Object.class);
        } catch(Exception e) {
            Logger.error(“gson serializer error :{}”, e.getMessage());
        }

       return response;

结束语: 希望大家多多交流,有不对的地方,多多指证 本人原创,切勿抄袭!

原文地址:https://www.cnblogs.com/shiyixin0125/p/11043680.html

时间: 2024-11-15 11:45:23

google 的 gson 序列化器使用的相关文章

完全理解Gson(2):Gson序列化

通过调用 Gson API 可以把 Java 对象转换为 JSON 格式的字符串(项目主页).在这篇文章中,我们将会讲到如何通过 Gson 默认实现和自定义实现方式,将 Java  对象转换为 JSON 字符串. 对于那些不熟悉 Gson 的读者,建议在读本篇文章之前读一下这两篇文章:简单 Gson 实例和 Gson 反序列化实例.另外,这篇文章的讲述方式和Gson反序列化实例一样,并且使用了相同的例子. 注意 请注意,在文章中我们将互换格式化或序列化的术语. 下面列出的所有代码都可以在这里找到

NetworkComms V3 使用Json序列化器进行网络通信

刚才在网上闲逛,偶然看到一篇文章 C#(服务器)与Java(客户端)通过Socket传递对象 网址是:http://www.cnblogs.com/iyangyuan/archive/2012/12/23/2829712.html#3140522 其中提到了 C#与java如通过传递对象通信的问题 摘引如下: 通信关键: C#和java用Socket通信,发送数据和接收数据可以统一采用UTF-8编码,经过测试,使用UTF-8编码可以成功传递对象. 对于Socket技术,发送数据之前,一般将字符串

Gson序列化对象时排除字段

import com.google.gson.ExclusionStrategy; import com.google.gson.FieldAttributes; /** *Gson序列化对象排除属性 *调用方法: *String[] keys = { "id" }; *Gson gson = new GsonBuilder().setExclusionStrategies(new JsonKit(keys)).create(); */ public class JsonKit imp

使用XML序列化器生成XML文件和利用pull解析XML文件

首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message> <sms> <body> 陈驰0 </body> <date> 1462162910995 </date> <address> 1380 </address> <type> 1 </type> &

javaScript中JSON序列化器/解析器

在JSON库中有一个全局的JSON对象, 包括两2个方法:序列化器即parse() 和 解析器stringify() 下面就介绍一个这两个方法的使用: 1.parse()用于将JSON字符串解析为对象或数组 var jsonText = '{"userName":"zhangsan","password":"123456"}';//注:  每个属性名和值都要用双引号, 单引号写在外面, 否则会出现异常. var changeJ

Android 使用xml序列化器生成xml文件

在<Android 生成xml文件>一文中使用流的形式写入xml格式文件,但是存在一定的问题,那就是在短信内容中不能出现<>之类的括号,本文使用xml序列化器来解决 xml序列化器对象 XmlSerializer xs = Xml.newSerializer();* 给序列化器设置输出流 File file = new File(Environment.getExternalStorageDirectory(), "backupsms.xml"); FileOu

NetworkComms c#通信框架之使用BinaryFormatter序列化器进行网络通信

NetworkComms是一款来自英国的C#语言编写的通信框架 NetworkComms通信框架默认使用的是protobuf.net序列化器 NetworkComms 通信框架还内置了 BinaryFormaterSerializer 序列化器,此序列化器是对.net框架自带的  BinaryFormatter 的封装使用. 在networkcomms v2版本中的BinaryFormaterSerializer代码如下: #if WINDOWS_PHONE #else using System

google的Gson使用

google的Gson封装的比较彻底,实现简单: 一.下载Gson的jar包:gson-2.2.4.jar 二.新建工程,导入jar包. 三.新建实体类: package com.cn.entity; public class User { private String name; private Integer age; private String address; public User(){ } public User(String name, Integer age, String a

IOSerialize,xml和json,soap序列化器,二进制序列化器,XML序列化器,文件 检查、新增、复制、移动、删除

1 文件夹/文件 检查.新增.复制.移动.删除,2 文件读写,记录文本日志/读取配置文件3 三种序列化器4 xml和json1.文件夹/文件 检查.新增.复制.移动.删除,2 文件读写,记录文本日志/读取配置文件 using System.IO; /// <summary> /// 配置绝对路径 /// </summary> private static string LogPath = ConfigurationManager.AppSettings["LogPath&