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)
...
} //...
}
}
}

最新文章

  1. JAX-WS服务端及客户端
  2. web前端防治重复提交
  3. AloneJs —— 简洁高效的JavaScript UI库
  4. android中xmlns:tools属性详解
  5. out 和 ref 参数修饰符
  6. python tornado框架实现CRUD
  7. iOS KVC,KVO
  8. xy
  9. some logo.
  10. English is very important!
  11. xshell6 评估期已过 解决办法
  12. git知识总结-1.git基础之数据存储
  13. 使用freemarker模板引擎生成word文档的开发步骤
  14. 【网址】PHP参考文档
  15. JavaScript--表单处理(27)
  16. Android,我待你入初恋啊,你就别坑我了!
  17. springboot-web进阶(四)——单元测试
  18. RV 多样式 MultiType 聊天界面 消息类型 MD
  19. NetLink通信机制学习
  20. year()+month() 不错的Idear

热门文章

  1. Spring学习总结(5)-Spring依赖关系
  2. .Net Core 3.0下AOP试水~~
  3. 【FZYZOJ】「Paladin」瀑布 题解(期望+递推)
  4. Python接口自动化测试框架: pytest+allure+jsonpath+requests+excel实现的接口自动化测试框架(学习成果)
  5. Android 菜单的使用
  6. vue 项目运行报错
  7. C#LeetCode刷题之#521-最长特殊序列 Ⅰ​​​​​​​(Longest Uncommon Subsequence I)
  8. 一文看懂 Netty 架构设计
  9. 制作qq简易聊天框
  10. Java代替if和switch的方法(记录一下)