Gson转换的一些方式
来源:互联网 发布:巧手十字绣软件 编辑:程序博客网 时间:2024/05/16 19:07
现象:
1:Gson转换的时候,将null也转换进去
2:Gson转换的时候将null变成空字符串转入json字符串
分析:
在java对象转换为json字符串的时候
有时候需要将null值也转换进去,有时候需要将null值转换为空字符串转换进去
1解决方法:
(1)maven引入jar包
也可以将jar包直接复制到lib
(2):创建对象转换json
(3):结果null值进入json字符串
(4):设置null值转入的关键开关
其中 使用 new GsonBuilder().setDateFormat(“yyyy-MM-dd HH:mm:ss”)设置的是时间Date类型转换为json字符串的格式化
2解决办法
将null转换为空字符串
(1):转换的方法
(2):转换方法加入时间格式转换规则
(3):自定义类1
(4):自定义类2
代码:
自定义类一
import com.google.gson.Gson;import com.google.gson.TypeAdapter;import com.google.gson.TypeAdapterFactory;import com.google.gson.reflect.TypeToken;public class NullStringToEmptyAdapterFactory<T> implements TypeAdapterFactory { public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) { Class<T> rawType = (Class<T>) type.getRawType(); if (rawType != String.class) { return null; } return (TypeAdapter<T>) new StringNullAdapter(); }}
自定义类二
import java.io.IOException;import com.google.gson.TypeAdapter;import com.google.gson.stream.JsonReader;import com.google.gson.stream.JsonToken;import com.google.gson.stream.JsonWriter;public class StringNullAdapter extends TypeAdapter<String> { @Override public String read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return ""; } return reader.nextString(); } @Override public void write(JsonWriter writer, String value) throws IOException { if (value == null) { writer.value(""); return; } writer.value(value); }}
3:json转map的方法
阅读全文
0 0
- Gson转换的一些方式
- gson的一些相关问题
- Gson使用的一些总结
- Gson转换
- 使用Gson转换Json对象中的一些细节问题
- Gson 解析 json 的一些注意点
- android GSON解析的一些问题
- java转换json的实用工具-Gson
- Gson:Object和Json的转换
- gson和JavaBean之间的转换
- Gson 字符串和json对象的转换
- Gson 转换树型结构的实例
- Gson转换hibernate级联对象的处理
- gson转换时遇到的一个错误
- 关于Gson的各数据类型转换
- 简单的Gson转换json数据
- GSON对java对象的相互转换
- Gson的fromJson指定转换类型
- 金蝶用友对比图
- tomcat核心组件及server.xml配置讲解
- MongoDB副本集和分片模式安装
- CodeForces 489E Hiking
- 静态成员、静态方法、静态类、实例成员及区别
- Gson转换的一些方式
- drbd详解
- git使用命令
- C++ 声明整型变量,输入字符常量
- 关于mybatis “org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)” 错误的问题
- hdu5001-概率dp&经典&tooyoung-Walk
- spring boot application.properties 配置参数详情
- 孔令贤博客部分摘录
- 如何使用Opencv计算PSNR