码迷,mamicode.com
首页 > Web开发 > 详细

jackson json和对象,集合的几种转换

时间:2015-01-22 15:26:56      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:jackson   json   java   

jackson  json和对象,集合的几种转换

package com.crm.net.util;

import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.List;

import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.DeserializationConfig;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.JavaType;

public class JsonUtils<T> {

	
	
	
	
	
//	ObjectMapper mapper2 = new ObjectMapper();
//	LoginInfo user = mapper2.readValue(result.toString(), LoginInfo.class);
//	System.out.println("user:" + user);
	
	/**
	 * 转换为 list
	 * 
	 * @param josn
	 * @param clz
	 * @return
	 */
	public List<T> jsonConverList(String josn, Class clz) {
		ObjectMapper jacksonMapper = new ObjectMapper();
		List<T> me = null;
		try {
			jacksonMapper
					.disable(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES);
			// jacksonMapper.enableDefaultTyping();
			// jacksonMapper.setVisibility(JsonMethod.FIELD,JsonAutoDetect.Visibility.ANY);
			// jacksonMapper.configure(SerializationConfig.Feature.INDENT_OUTPUT,
			// false);//格式化
			// jacksonMapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
			// jacksonMapper.configure(SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS,
			// false);

			JavaType javaType = jacksonMapper.getTypeFactory()
					.constructParametricType(List.class, clz);// clz.selGenType().getClass()

			me = jacksonMapper.readValue(josn, javaType);
		} catch (JsonParseException e) {
			e.printStackTrace();
		} catch (JsonMappingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

		return me;
	}

	/**
	 * 转换对象里面有json
	 * 
	 * @param josn
	 * @param clz
	 * @return
	 */

	public T jsonConverObject(String josn, Class<T> clz) {

		T t = null;
		// ObjectMapper jacksonMapper = new ObjectMapper();
		InputStreamReader in = new InputStreamReader(new ByteArrayInputStream(
				josn.getBytes()));
		BufferedReader streamReader = new BufferedReader(in);
		StringBuilder buff = new StringBuilder();
		String inputStr;
		try {
			while ((inputStr = streamReader.readLine()) != null)
				buff.append(inputStr);
			ObjectMapper mapper = new ObjectMapper();
			t = mapper.readValue(buff.toString(), clz);

		} catch (IOException e) {

			e.printStackTrace();
		}

		return t;
	}
}


jackson json和对象,集合的几种转换

标签:jackson   json   java   

原文地址:http://blog.csdn.net/liangrui1988/article/details/43019863

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!