JSON工具类总结

Posted wj沧浪之水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSON工具类总结相关的知识,希望对你有一定的参考价值。

json与类对象互相转化及map等相互转换,Jackson框架


	private JSONUtils() 
	

	public static ObjectMapper om;

	static 
		om = new ObjectMapper();
		om.configure(
				DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY,
				false);
	

	/**
	 * 类对象转换成JSON字符串
	 * 
	 * @param obj
	 * @return
	 */
	public static String toJSON(Object obj) 
		try 
			return om.writeValueAsString(obj);
		 catch (Exception e) 
			e.printStackTrace();
		
		return null;
	

	/**
	 * JSON字符串转换成类对象
	 * 
	 * @param <T>
	 * @param json
	 * @param t
	 * @return
	 */
	public static <T> T toBean(String json, Class<T> t) 
		try 
			return om.readValue(json, t);
		 catch (Exception e) 
			e.printStackTrace();
		
		return null;
	

	/**
	 * JSON字符串转换成Map对象
	 */
	// public static Map<String, List<String>> toMap(String json) 
	// try 
	// return om.readValue(json, new TypeReference<Map<String, List<String>>>()
	// 
	// );
	//  catch (Exception e) 
	// e.printStackTrace();
	// 
	// return null;
	// 
	public static Map<String, Object> toMap(String json) 
		try 
			return om.readValue(json, new TypeReference<Map<String, Object>>() 
			);
		 catch (Exception e) 
			e.printStackTrace();
		
		return null;
	

	/**
	 * JSON转换为集合
	 */
	public static List<Map<String, List<String>>> toList(String json) 
		try 
			return om.readValue(json,
					new TypeReference<List<Map<String, List<String>>>>() 
					);
		 catch (Exception e) 
			e.printStackTrace();
		
		return null;
	

	public static void main(String[] args) 
		List<Map<String, List<String>>> list = new ArrayList<Map<String, List<String>>>();
		Map<String, List<String>> map = new HashMap<String, List<String>>();
		map.put("bbb", new ArrayList<String>());
		map.get("bbb").add("hello");
		map.put("aaa", new ArrayList<String>());
		list.add(map);
		String json = toJSON(list);
		System.out.println(json);
		list = toList(json);
		System.out.println(list.get(0).size());

	


以上是关于JSON工具类总结的主要内容,如果未能解决你的问题,请参考以下文章

总结的一些json格式和对象/String/Map/List等的互转工具类

工具类:关于解决数据库中的日期格式,经过response.getWriter().write(json)打到前台日期格式混乱的问题的总结

Gson、FastJson、Jackson、json-lib对比总结

json--处理框架

Android Json处理框架

处理json的工具类({本类为处理json的工具类})