gson 处理null
2024-10-09 12:24:20
1.定义null处理类
class StringConverter : JsonSerializer<String?>,
JsonDeserializer<String?> {
override fun serialize(
src: String?, typeOfSrc: Type?,
context: JsonSerializationContext?
): JsonElement {
return if (src == null) {
JsonPrimitive("")
} else {
JsonPrimitive(src.toString())
}
} @Throws(JsonParseException::class)
override fun deserialize(
json: JsonElement, typeOfT: Type?,
context: JsonDeserializationContext?
): String {
return json.asJsonPrimitive.asString
}
}
2.修改构造gson方式
fun parseDevices(array : JsonArray){
val gson = GsonBuilder().run {
registerTypeAdapter(String::class.java, StringConverter())
create()
}
for (je in array){
val obj = je.asJsonObject
if(!obj.has("type")) continue
val type = obj.get("type").asInt
when(type){
-> {
val ward = gson.fromJson(je,Wardship::class.java)
...
} //...
}
}
}
最新文章
- JAX-WS服务端及客户端
- web前端防治重复提交
- AloneJs —— 简洁高效的JavaScript UI库
- android中xmlns:tools属性详解
- out 和 ref 参数修饰符
- python tornado框架实现CRUD
- iOS KVC,KVO
- xy
- some logo.
- English is very important!
- xshell6 评估期已过 解决办法
- git知识总结-1.git基础之数据存储
- 使用freemarker模板引擎生成word文档的开发步骤
- 【网址】PHP参考文档
- JavaScript--表单处理(27)
- Android,我待你入初恋啊,你就别坑我了!
- springboot-web进阶(四)——单元测试
- RV 多样式 MultiType 聊天界面 消息类型 MD
- NetLink通信机制学习
- year()+month() 不错的Idear
热门文章
- Spring学习总结(5)-Spring依赖关系
- .Net Core 3.0下AOP试水~~
- 【FZYZOJ】「Paladin」瀑布 题解(期望+递推)
- Python接口自动化测试框架: pytest+allure+jsonpath+requests+excel实现的接口自动化测试框架(学习成果)
- Android 菜单的使用
- vue 项目运行报错
- C#LeetCode刷题之#521-最长特殊序列 Ⅰ​​​​​​​(Longest Uncommon Subsequence I)
- 一文看懂 Netty 架构设计
- 制作qq简易聊天框
- Java代替if和switch的方法(记录一下)