Java json工具类,jackson工具类,ObjectMapper工具类
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2016年8月23日 15:39:18 星期二
http://fanshuyao.iteye.com/
附件有下载!
package com.chinagas.org.common.utils; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import org.codehaus.jackson.JsonGenerationException; import org.codehaus.jackson.JsonParser.Feature; import org.codehaus.jackson.map.DeserializationConfig; import org.codehaus.jackson.map.JsonMappingException; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.type.JavaType; import org.codehaus.jackson.type.TypeReference; public class JacksonUtils { /** * 实体对象转换成Json字符串 * @param t 实体对象T * @return T */ public static <T> String objectToJson(T t){ ObjectMapper mapper = new ObjectMapper(); mapper.configure(Feature.ALLOW_SINGLE_QUOTES, true);//设置可用单引号 mapper.configure(Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);//设置字段可以不用双引号包括 mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));//设置时间格式 try { return mapper.writeValueAsString(t); } catch (JsonGenerationException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } /** * Json字符串转换成实体对象 * @param json * @param clazz 实体对象所属类Class * @return */ public static <T> T jsonToObject(String json, Class<T> clazz){ ObjectMapper mapper = new ObjectMapper(); mapper.configure(Feature.ALLOW_SINGLE_QUOTES, true);//设置可用单引号 mapper.configure(Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);//设置字段可以不用双引号包括 mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));//设置时间格式 mapper.disable(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES);//设置实体无属性和json串属性对应时不会出错 try { return mapper.readValue(json, clazz); } catch (JsonGenerationException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } /** * Json字符串转换成List * @param json * @param clazz 实体对象所属类Class * @return */ public static <T> T jsonToList(String json, Class<T> clazz){ ObjectMapper mapper = new ObjectMapper(); mapper.configure(Feature.ALLOW_SINGLE_QUOTES, true);//设置可用单引号 mapper.configure(Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);//设置字段可以不用双引号包括 mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); mapper.disable(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES); try { JavaType javaType = mapper.getTypeFactory().constructParametricType(ArrayList.class, clazz); return mapper.readValue(json, javaType); } catch (JsonGenerationException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } /** * Json字符串转换成List * @param json * @param typeReference TypeReference<T> * <p> * <pre>new TypeReference<List<User>>() {}</pre> * </p> * @return */ public static <T> T jsonToList(String json, TypeReference<T> typeReference){ ObjectMapper mapper = new ObjectMapper(); mapper.configure(Feature.ALLOW_SINGLE_QUOTES, true);//设置可用单引号 mapper.configure(Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);//设置字段可以不用双引号包括 mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); mapper.disable(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES); try { return mapper.readValue(json, typeReference); } catch (Exception e) { e.printStackTrace(); } return null; } /** * 美化输出 * @param t * @return */ public static <T> String console(T t){ ObjectMapper mapper = new ObjectMapper(); mapper.configure(Feature.ALLOW_SINGLE_QUOTES, true);//设置可用单引号 mapper.configure(Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);//设置字段可以不用双引号包括 mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); String json = ""; try { json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(t); } catch (JsonGenerationException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return json; } }
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2016年8月23日 15:39:18 星期二
http://fanshuyao.iteye.com/
相关推荐
在Java开发中,XML(可扩展标记语言)和JSON...在`XmlToJson.java`这个工具类中,我们展示了如何利用Jackson库进行XML与JSON之间的转换。这只是一个基础示例,实际项目中可能需要进行更复杂的错误处理和数据验证。
- **序列化**: Jackson 提供了 `ObjectMapper` 类,通过 `writeValueAsString()` 或 `writeValueAsBytes()` 方法可以将Java对象转换成JSON字符串或字节数组。 - **反序列化**: 使用 `readValue()` 方法,可以将...
本篇将详细介绍如何使用Java工具类进行XML与JSON的转换,并介绍相关知识。 首先,`pom依赖.txt`文件中应包含的是Maven项目的依赖信息。在Java项目中,我们需要引入处理XML和JSON转换的库。通常,我们使用如Jackson...
在这个“json jackson 工具类”中,我们看到对Jackson进行了封装,以便更方便地进行字符串与JSON对象之间的转换,包括对简单对象和复杂对象的支持。 Jackson库主要由以下组件组成: 1. `...
Java JSON技术是开发中常用的序列化和反序列化工具,特别是在Web服务和后端开发中。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java中,处理...
以上就是关于“json 转化工具类”的一些基础知识,这类工具类极大地简化了JSON与Java对象之间的交互,提高了开发效率。在实际开发中,根据项目的依赖和需求,选择合适的JSON库并利用其提供的工具类,可以有效地处理...
1. **Bean到JSON转换**:工具类提供了将Java Bean对象转换为JSON字符串的方法。这通常通过使用如Jackson、Gson或Fastjson等库来实现。例如,使用Jackson库,可以调用`ObjectMapper.writeValueAsString(Object bean)`...
总的来说,实体类反射非空赋值以及AjaxJson工具类的应用,是Java后端开发中的常见实践,它涉及到了Java反射API的使用、JSON数据与Java对象的转换,以及如何编写高效的工具类来简化这些操作。理解并熟练掌握这些技能...
这里我们将主要讨论这些工具类的使用方法以及它们在处理对象到JSON字符串和反向转换时的关键知识点。 1. Jackson库: Jackson是Java中非常流行的一个JSON处理库,它提供了`...
- Jackson库:通过`ObjectMapper`类,我们可以将Java对象映射为JSON字符串,反之亦然。例如,`ObjectMapper.writeValueAsString(Object)`用于对象转JSON,`ObjectMapper.readValue(String, Class)`用于JSON转对象。...
例如,使用`ObjectMapper`类,开发者可以轻松地实现JSON到Java对象的映射,如`ObjectMapper.readValue()`和`ObjectMapper.writeValueAsString()`。 在实际项目中,这三个模块常常一起使用,以实现高效且灵活的JSON...
本资源提供的"JAVA工具类"整合了XML处理、JSON操作、MD5加密以及加解密功能,对提高开发效率大有裨益。 1. **XML处理**: - DOM解析:DOM(Document Object Model)是一种将XML文档映射为树形结构的方法,通过它...
在Java开发过程中,工具类是不可或缺的一部分,它们提供了一系列便捷的方法,帮助开发者高效地处理常见的编程任务。"Ut.rar" 是一个包含Java基础工具类的压缩包,特别针对单元测试(UT,Unit Test)和一些常见的开发...
JSON工具类可以帮助我们进行JSON字符串与Java对象之间的转换,使得数据操作更加便捷。本压缩包“json.zip”中可能包含了一个或多个Java工具类,用于帮助开发人员处理JSON相关的任务。 以下是一些常见的JSON工具类...
Jackson是一个高效的JSON处理库,它提供了一系列API,包括`JsonParser`、`ObjectMapper`等,用于序列化(将Java对象转换为JSON)和反序列化(将JSON转换回Java对象)。例如,使用`ObjectMapper`可以轻松地将JSON字符...
首先,`JackSonUtil` 是基于Jackson库的一个工具类,Jackson是Java中最流行的JSON处理库之一,提供了高效且灵活的数据绑定API。`JackSonUtil.obj2json` 方法是用于将Java对象转换为JSON字符串的核心方法。以下是`...
为了方便地进行JSON与Java对象之间的转换,通常会封装一个JSON工具类。本文将详细介绍一个名为`JsonUtils`的工具类,它提供了两个主要功能:一是将JSON字符串转换为指定类型的Java对象;二是将Java对象转换为JSON...
"json工具包"可能指的是像Jackson、Gson、org.json等流行的JSON库。这些工具包提供了方便的方法来解析JSON字符串为Java对象,以及将Java对象序列化为JSON字符串。 1. **Jackson**:Jackson是Java最常用的JSON库之一...