• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > json反序列化把空字符串转为null

json反序列化把空字符串转为null

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了json null,json decode null,php json decode null,json is null,newtonsoft.json null等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

json反序列化把空字符串转为null


一直使用jackson处理json,最近ui传来的数据{"funcCode":"Read_Coils","action":"pass","startaddr":"","endaddr":""},处理时需要把""转为null,
看了许久才明白其中的道理.
先写一个自定义反序列化类

  1. import com.fasterxml.jackson.core.JsonParser;
  2. import com.fasterxml.jackson.core.JsonProcessingException;
  3. import com.fasterxml.jackson.databind.DeserializationContext;
  4. import com.fasterxml.jackson.databind.JsonDeserializer;
  5. import com.fasterxml.jackson.databind.JsonNode;

  6. import java.io.IOException;

  7. /**
  8. * Created by li on 2/17/17.
  9. */
  10. class CustomDeserializer extends JsonDeserializer {

  11. @Override
  12. public String deserialize(JsonParser jsonParser, DeserializationContext context) throws IOException, JsonProcessingException {
  13. JsonNode node = jsonParser.readValueAsTree();
  14. if (node.asText().isEmpty()) {
  15. return null;
  16. }
  17. return node.toString();
  18. }

  19. }
然后在POJO类需要转换的字段加注解

  1. private String action;
  2. @JsonDeserialize(using = CustomDeserializer.class)
  3. private String startaddr;
  4. @JsonDeserialize(using = CustomDeserializer.class)
  5. private String endaddr;
主要是引用
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;

转换的代码


  1. ObjectMapper mapper = new ObjectMapper();
  2. mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

  3. ModbusTcp modbusTcp = mapper.readValue(json, ModbusTcp.class);
导入库
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;

注意是fastxml不是codehua,否则不起作用


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • json反序列化把空字符串转为null

相关文章

  • 2017-05-26我的android学习经历16,android学习经历16
  • 2017-05-26牛刀小试Oracle之ORACLE 11GR2 RAC安装配置--GI安装配置
  • 2017-05-26MTK处理器手机 解锁Bootloader 教程,mtkbootloader
  • 2017-05-26Android开发必看-快速提高 Android 开发效率的 Web 工具,android必看
  • 2017-05-26linux syslog日志服务器的搭建
  • 2017-05-26Android高效加载大图、多图解决方案,有效避免程序OOM,androidoom
  • 2017-05-26转载:内存泄露与内存溢出的区别,转载泄露溢出区别
  • 2017-05-26硅谷商城5--购物车商品选中和商品总价计算,5--购物车
  • 2017-05-26硅谷商城6--购物车编辑实现,硅谷商城6--购物车
  • 2017-05-26Android体系结构,android体系结构介绍

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android5.0开发范例大全 读书笔记(三),android5.0范例
    • 项目总结手机号+短信验证码登录,手机号验证码
    • Android studio 百度地图开发(1)配置工程、显示地图
    • MAC下写入ntfs文件系统
    • 2.3.7 ProgressBar(进度条)
    • 手机影音10--音乐列表,影音10--列表
    • Android 的系统架构,Android系统架构
    • Android 应用程序集成Google 登录,androidgoogle
    • android源码解析之(五)--)Log相关介绍
    • 深入理解 Android 之 View 的绘制流程,androidview

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有