json 转简单对象

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import org.codehaus.jackson.JsonEncoding;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.JsonParser;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;

/**
 * ClassName: JacksonUtil 
 * Function: 将java对象转换成JSON字符串,也可以将JSON字符串转换成java对象 
 * date: 2016-3-25 下午2:20:57 
 */
public class JacksonUtil {
    
    /**
     * 将java对象转换成json字符串
     * @param object
     * @return
     * @throws IOException 
     * @throws JsonMappingException 
     * @throws JsonGenerationException 
     */
    public static String writeEntity2JSON(Object object) throws JsonGenerationException, JsonMappingException, IOException {
        return new ObjectMapper().writeValueAsString(object);
    }
    
    /**
     * 将java对象转换成json字符串,并将输出结果写入指定输出流中
     * @param object
     * @param out
     * @throws IOException
     */
    public static void writeEntity2JSON(Object object, OutputStream out) throws IOException {
        JsonGenerator jsonGenerator = new ObjectMapper().getJsonFactory().createJsonGenerator(out, JsonEncoding.UTF8);
        jsonGenerator.writeObject(object);
    }
    
    /**
     * 将json字符串转换成JavaBean对象
     * @param jsonString
     * @param valueType
     * @return
     * @throws JsonParseException
     * @throws JsonMappingException
     * @throws IOException
     */
    public static <T> T readJSON2Entity(String jsonString, Class<T> valueType) throws JsonParseException, JsonMappingException, IOException {
        return new ObjectMapper().readValue(jsonString, valueType);
    }
    
    /**
     * 将json字符串转换成JavaBean对象,并将对象写入指定输入流
     * @param jsonString
     * @param valueType
     * @param in
     * @return
     * @throws JsonParseException
     * @throws JsonMappingException
     * @throws IOException
     */
    public static Object readJSON2Entity(String jsonString, Object valueType, InputStream in) throws JsonParseException, JsonMappingException, IOException {
        JsonParser jsonParser = new ObjectMapper().getJsonFactory().createJsonParser(in);
        return jsonParser.readValueAs(valueType.getClass());
    }
    
    /**
     * 将json file转换成JavaBean对象
     * @param file
     * @param valueType
     * @return
     * @throws JsonParseException
     * @throws JsonMappingException
     * @throws IOException
     */
    public static Object readJSON2Entity(File file, Object valueType) throws JsonParseException, JsonMappingException, IOException {
        return new ObjectMapper().readValue(file, valueType.getClass());
    }
    
    /**
     * 将json file转换成JavaBean对象
     * @param file
     * @param valueType
     * @return
     * @throws JsonParseException
     * @throws JsonMappingException
     * @throws IOException
     */
    public static Object readJSON2Entity(InputStream in, Object valueType) throws JsonParseException, JsonMappingException, IOException {
        return new ObjectMapper().readValue(in, valueType.getClass());
    }
    
}
 

猜你喜欢

转载自blog.csdn.net/stone_tomcate/article/details/81744828