JsonUtils.java 1.63 KB
package com.zhaoonline.common.json;

import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.Map;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;

public class JsonUtils {
	
	private static ObjectMapper mapper= new ObjectMapper();
	
	static{
		SimpleModule module = new SimpleModule();
		module.addSerializer(Date.class, new JsonDateSerializer());
		mapper.registerModule(module);
		JsonDateDeserializer deser=new JsonDateDeserializer();
		module.addDeserializer(Date.class, deser);
		mapper.registerModule(module);
	}
	
	/**
	 * Method name: toObject <BR>
	 * Description: 读取失败就返回null <BR>
	 * Remark: <BR>
	 * @param inputStram
	 * @param clazz
	 * @return  T<BR>
	 * @throws IOException 
	 * @throws JsonMappingException 
	 * @throws JsonParseException 
	 */
	public static <T> T toObject(InputStream  inputStram ,Class<T> clazz) throws JsonParseException, JsonMappingException, IOException {
		return mapper.readValue(inputStram, clazz);
	}
	
	public static String toJson(Object object) throws JsonProcessingException {
		return mapper.writeValueAsString(object);
	}
	
	public static <T> T toObject(String jsonString,Class<T> clazz) throws IOException {
		return mapper.readValue(jsonString, clazz);
	}
	public static Map toMap(String jsonString) throws IOException {
		return toObject(jsonString,Map.class);
	}
	
	
}