`

Java json工具类,jackson工具类,ObjectMapper工具类

阅读更多

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/

1
1
分享到:
评论
3 楼 masuweng 2017-03-04  
    
2 楼 tieye 2016-08-23  
   好文章
1 楼 蕃薯耀 2016-08-23  
Java json工具类,jackson工具类,ObjectMapper工具类

>>>>>>>.
蕃薯耀

相关推荐

    java的xml和json相互转换工具类,亲测直接用

    在Java开发中,XML(可扩展标记语言)和JSON...在`XmlToJson.java`这个工具类中,我们展示了如何利用Jackson库进行XML与JSON之间的转换。这只是一个基础示例,实际项目中可能需要进行更复杂的错误处理和数据验证。

    json转换工具jackson

    - **序列化**: Jackson 提供了 `ObjectMapper` 类,通过 `writeValueAsString()` 或 `writeValueAsBytes()` 方法可以将Java对象转换成JSON字符串或字节数组。 - **反序列化**: 使用 `readValue()` 方法,可以将...

    xml/Json转换工具类

    本篇将详细介绍如何使用Java工具类进行XML与JSON的转换,并介绍相关知识。 首先,`pom依赖.txt`文件中应包含的是Maven项目的依赖信息。在Java项目中,我们需要引入处理XML和JSON转换的库。通常,我们使用如Jackson...

    json jackson 工具类

    在这个“json jackson 工具类”中,我们看到对Jackson进行了封装,以便更方便地进行字符串与JSON对象之间的转换,包括对简单对象和复杂对象的支持。 Jackson库主要由以下组件组成: 1. `...

    java json 所有jar包

    Java JSON技术是开发中常用的序列化和反序列化工具,特别是在Web服务和后端开发中。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java中,处理...

    json 转化工具类

    以上就是关于“json 转化工具类”的一些基础知识,这类工具类极大地简化了JSON与Java对象之间的交互,提高了开发效率。在实际开发中,根据项目的依赖和需求,选择合适的JSON库并利用其提供的工具类,可以有效地处理...

    bean,json工具类

    1. **Bean到JSON转换**:工具类提供了将Java Bean对象转换为JSON字符串的方法。这通常通过使用如Jackson、Gson或Fastjson等库来实现。例如,使用Jackson库,可以调用`ObjectMapper.writeValueAsString(Object bean)`...

    实体类反射非空赋值,AjaxJson工具类

    总的来说,实体类反射非空赋值以及AjaxJson工具类的应用,是Java后端开发中的常见实践,它涉及到了Java反射API的使用、JSON数据与Java对象的转换,以及如何编写高效的工具类来简化这些操作。理解并熟练掌握这些技能...

    java 对象与json字符串互相转换工具类

    这里我们将主要讨论这些工具类的使用方法以及它们在处理对象到JSON字符串和反向转换时的关键知识点。 1. Jackson库: Jackson是Java中非常流行的一个JSON处理库,它提供了`...

    Json的工具类压缩包

    - Jackson库:通过`ObjectMapper`类,我们可以将Java对象映射为JSON字符串,反之亦然。例如,`ObjectMapper.writeValueAsString(Object)`用于对象转JSON,`ObjectMapper.readValue(String, Class)`用于JSON转对象。...

    jackson(Java JSON工具库)(3 in 1)

    例如,使用`ObjectMapper`类,开发者可以轻松地实现JSON到Java对象的映射,如`ObjectMapper.readValue()`和`ObjectMapper.writeValueAsString()`。 在实际项目中,这三个模块常常一起使用,以实现高效且灵活的JSON...

    JAVA工具类(整合,xml,json,MD5,加密解密)

    本资源提供的"JAVA工具类"整合了XML处理、JSON操作、MD5加密以及加解密功能,对提高开发效率大有裨益。 1. **XML处理**: - DOM解析:DOM(Document Object Model)是一种将XML文档映射为树形结构的方法,通过它...

    Ut.rar_java 开发ut包_javaut demo_java工具_java工具类_基础工具

    在Java开发过程中,工具类是不可或缺的一部分,它们提供了一系列便捷的方法,帮助开发者高效地处理常见的编程任务。"Ut.rar" 是一个包含Java基础工具类的压缩包,特别针对单元测试(UT,Unit Test)和一些常见的开发...

    json工具类

    JSON工具类可以帮助我们进行JSON字符串与Java对象之间的转换,使得数据操作更加便捷。本压缩包“json.zip”中可能包含了一个或多个Java工具类,用于帮助开发人员处理JSON相关的任务。 以下是一些常见的JSON工具类...

    java读取json的jar包

    Jackson是一个高效的JSON处理库,它提供了一系列API,包括`JsonParser`、`ObjectMapper`等,用于序列化(将Java对象转换为JSON)和反序列化(将JSON转换回Java对象)。例如,使用`ObjectMapper`可以轻松地将JSON字符...

    map,list转成json的工具类

    首先,`JackSonUtil` 是基于Jackson库的一个工具类,Jackson是Java中最流行的JSON处理库之一,提供了高效且灵活的数据绑定API。`JackSonUtil.obj2json` 方法是用于将Java对象转换为JSON字符串的核心方法。以下是`...

    JSON对象转换工具类

    为了方便地进行JSON与Java对象之间的转换,通常会封装一个JSON工具类。本文将详细介绍一个名为`JsonUtils`的工具类,它提供了两个主要功能:一是将JSON字符串转换为指定类型的Java对象;二是将Java对象转换为JSON...

    json工具包

    "json工具包"可能指的是像Jackson、Gson、org.json等流行的JSON库。这些工具包提供了方便的方法来解析JSON字符串为Java对象,以及将Java对象序列化为JSON字符串。 1. **Jackson**:Jackson是Java最常用的JSON库之一...

Global site tag (gtag.js) - Google Analytics