开发过程中,一般将对象转换成String 或String 转对象 大部分通过fastjson的方式,但是各种json框架在处理基本类型的时候,会显得力不从心。这里最优秀的还是jackson的转换方式。

主要使用ObjectMapper 对象,可以实现Object 到string 也可实现Object 到 byte[] 的转换。

package com.fasterxml.jackson.databind.ObjectMapper;
public class JsonUtil {private static final ObjectMapper MAPPER;static {MAPPER = (new ObjectMapper((new JsonFactory()).disable(JsonFactory.Feature.INTERN_FIELD_NAMES))).registerModule(new GuavaModule());MAPPER.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);MAPPER.enable(com.fasterxml.jackson.core.JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS);MAPPER.enable(com.fasterxml.jackson.core.JsonParser.Feature.ALLOW_COMMENTS);MAPPER.registerModule(new ParameterNamesModule());MAPPER.registerModule(new KotlinModule());MAPPER.registerModule(new ProtobufModule());}public static String write(@Nullable Object obj) {if (obj == null) {return null;} else {try {return MAPPER.writeValueAsString(obj);} catch (Exception ex) {log.error("Jackson write exception", ex);return null;}}}public static <T> T read(String jsonStr, Class<T> clazz) {if (StringUtils.isBlank(jsonStr)) {return null;}try {return MAPPER.readValue(jsonStr, clazz);} catch (IOException e) {log.error("Jackson read exception", e);return null;}}public static <T> T read(String jsonStr, TypeReference<T> tTypeReference) {if (StringUtils.isBlank(jsonStr)) {return null;}try {return MAPPER.readValue(jsonStr, tTypeReference);} catch (IOException e) {log.error("Jackson read exception", e);return null;}}
}

对象和String之间转换(包含基本类型转换)相关推荐

  1. jq js json 转字符串_JS中JSON对象和String之间的互转及处理技巧

    json:JavaScript 对象表示法(javascript Object Notation),其实JSON就是一个javaScript的对象(Object)而已. 如有不清楚JSON,可以去w3 ...

  2. C++ 中 char[],char *,string之间转换

    char []与char *之间转换 char []转char *:直接进行赋值即可 // char[] 转char * char str[] = "lala"; char *st ...

  3. char[],char *,string之间转换

    char []与char *之间转换 char []转char *:直接进行赋值即可 // char[] 转char * char str[] = "lala"; char *st ...

  4. JAXB实现java对象与xml之间转换

    一.Jaxb处理java对象和xml之间转换常用的annotation有: 1. @XmlType 2. @XmlElement 3. @XmlRootElement 4. @XmlAttribute ...

  5. ASN1对象与OID之间转换的函数

    ASN1对象与OID之间转换的函数,经常会用到. Name OBJ_nid2obj, OBJ_nid2ln, OBJ_nid2sn, OBJ_obj2nid, OBJ_txt2nid, OBJ_ln2 ...

  6. Json对象和string之间的转换

    目录 JSON-----------JavaScript Object Notation C# LitJson库 Java--使用org.json.JSONObject 例子: string转Json ...

  7. jdk安装教程_使用JDK 8流在包装对象的集合和包装对象的集合之间转换

    jdk安装教程 我发现使用基于Java的应用程序时,装饰器和适配器有时会很有用. 这些"包装器"在各种情况下都可以很好地工作,并且相当容易理解和实现,但是当需要包装对象的层次结构而 ...

  8. jdk 8 集合对象排序_使用JDK 8流在包装对象的集合和包装对象的集合之间转换

    jdk 8 集合对象排序 我发现使用基于Java的应用程序时, 装饰器和适配器有时会很有用. 这些"包装器"在各种情况下都能很好地工作,并且相当容易理解和实现,但是当需要包装对象的 ...

  9. 使用JDK 8流在包装对象的集合和包装对象的集合之间转换

    我发现使用基于Java的应用程序时, 装饰器和适配器有时会很有用. 这些"包装器"在各种情况下都能很好地工作,并且相当容易理解和实现,但是当需要包装对象的层次结构而不是单个对象时, ...

最新文章

  1. Docker中应用的性能调优指南(一)- 先谈谈容器化性能调优
  2. C语言实现镜子mirror算法(附完整源码)
  3. redhat linux 9.0 拷贝u盘的文件,肿么用U盘安装Linux,安装的是red hat 9.0…用Ubuntu很方便,redhat可以吗?...
  4. ubuntu安装python3.6_Ubuntu16.04安装python3.6.5步骤详解
  5. 能不能用python开发qq_用Python写一个模拟qq聊天小程序的代码实例
  6. ncurses键盘管理:cbreak,keypad,getch(),KEY_F(),clrtoeol()
  7. SEO超级外链留痕工具 最新SEO外链一键优化网站源码
  8. 万用表测占空比怎么接_万用表的占空比是什么意思?
  9. 网页内容变化实时监控提醒(多个复杂的监控条件)
  10. 怎么理解“不经审视的人生,不值得过!“
  11. BoardCast BroadcastReceiver 基础
  12. 科大讯飞2020脑PET图像分析和疾病预测---单模型进决赛前五
  13. 【前端测试与集成】使用mocha和sinon进行单元测试
  14. 算法编程(Java)#母牛生小牛的问题【字节】
  15. 聊聊职场 - 个人发展
  16. Ubuntu 下Android开发环境搭建
  17. 【网页设计】在网页中绘制表格(HTML)
  18. java计算机毕业设计校园环境保护监督系统源程序+mysql+系统+lw文档+远程调试
  19. 案例:js实现关闭淘宝二维码
  20. matlab三角形单元,平面三角形单元常应变单元matlab程序的编制.doc

热门文章

  1. 【文献阅读】The role of news sentiment in oil futures returns and volatility forecasting
  2. dell自带的测试软件,自带校色仪!戴尔万元显示器上手:告诉你什么叫专业
  3. SQL如何进行帕累托分析?(窗口函数、累计百分比分类)
  4. OpenCV人脸目标检测、摄像头实时检测
  5. VS Code如何设置背景色
  6. 手把手教写拖拽布局插件(拖拽功能篇)
  7. 阿里云服务器域名备案
  8. MCU电子方案开发 MUC单片机 EM78P372N 8位OTP微控制器
  9. 我去那个擅长搞事件营销的沸点天下到底收获了什么?
  10. C语言基础-函数的概念