对象和String之间转换(包含基本类型转换)
开发过程中,一般将对象转换成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之间转换(包含基本类型转换)相关推荐
- jq js json 转字符串_JS中JSON对象和String之间的互转及处理技巧
json:JavaScript 对象表示法(javascript Object Notation),其实JSON就是一个javaScript的对象(Object)而已. 如有不清楚JSON,可以去w3 ...
- C++ 中 char[],char *,string之间转换
char []与char *之间转换 char []转char *:直接进行赋值即可 // char[] 转char * char str[] = "lala"; char *st ...
- char[],char *,string之间转换
char []与char *之间转换 char []转char *:直接进行赋值即可 // char[] 转char * char str[] = "lala"; char *st ...
- JAXB实现java对象与xml之间转换
一.Jaxb处理java对象和xml之间转换常用的annotation有: 1. @XmlType 2. @XmlElement 3. @XmlRootElement 4. @XmlAttribute ...
- ASN1对象与OID之间转换的函数
ASN1对象与OID之间转换的函数,经常会用到. Name OBJ_nid2obj, OBJ_nid2ln, OBJ_nid2sn, OBJ_obj2nid, OBJ_txt2nid, OBJ_ln2 ...
- Json对象和string之间的转换
目录 JSON-----------JavaScript Object Notation C# LitJson库 Java--使用org.json.JSONObject 例子: string转Json ...
- jdk安装教程_使用JDK 8流在包装对象的集合和包装对象的集合之间转换
jdk安装教程 我发现使用基于Java的应用程序时,装饰器和适配器有时会很有用. 这些"包装器"在各种情况下都可以很好地工作,并且相当容易理解和实现,但是当需要包装对象的层次结构而 ...
- jdk 8 集合对象排序_使用JDK 8流在包装对象的集合和包装对象的集合之间转换
jdk 8 集合对象排序 我发现使用基于Java的应用程序时, 装饰器和适配器有时会很有用. 这些"包装器"在各种情况下都能很好地工作,并且相当容易理解和实现,但是当需要包装对象的 ...
- 使用JDK 8流在包装对象的集合和包装对象的集合之间转换
我发现使用基于Java的应用程序时, 装饰器和适配器有时会很有用. 这些"包装器"在各种情况下都能很好地工作,并且相当容易理解和实现,但是当需要包装对象的层次结构而不是单个对象时, ...
最新文章
- Docker中应用的性能调优指南(一)- 先谈谈容器化性能调优
- C语言实现镜子mirror算法(附完整源码)
- redhat linux 9.0 拷贝u盘的文件,肿么用U盘安装Linux,安装的是red hat 9.0…用Ubuntu很方便,redhat可以吗?...
- ubuntu安装python3.6_Ubuntu16.04安装python3.6.5步骤详解
- 能不能用python开发qq_用Python写一个模拟qq聊天小程序的代码实例
- ncurses键盘管理:cbreak,keypad,getch(),KEY_F(),clrtoeol()
- SEO超级外链留痕工具 最新SEO外链一键优化网站源码
- 万用表测占空比怎么接_万用表的占空比是什么意思?
- 网页内容变化实时监控提醒(多个复杂的监控条件)
- 怎么理解“不经审视的人生,不值得过!“
- BoardCast BroadcastReceiver 基础
- 科大讯飞2020脑PET图像分析和疾病预测---单模型进决赛前五
- 【前端测试与集成】使用mocha和sinon进行单元测试
- 算法编程(Java)#母牛生小牛的问题【字节】
- 聊聊职场 - 个人发展
- Ubuntu 下Android开发环境搭建
- 【网页设计】在网页中绘制表格(HTML)
- java计算机毕业设计校园环境保护监督系统源程序+mysql+系统+lw文档+远程调试
- 案例:js实现关闭淘宝二维码
- matlab三角形单元,平面三角形单元常应变单元matlab程序的编制.doc