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());

	}


阅读更多
个人分类: Java学习总结
上一篇Java反射学习总结
下一篇简单的jdbc操作数据库例子,高效率插入数据
想对作者说点什么? 我来说一句

Json与实体类的转换工具类

2013年11月20日 4KB 下载

JsonUtil json工具类

2010年06月01日 10KB 下载

json工具类

2013年08月19日 8KB 下载

JsonViewer

2018年04月26日 175.06MB 下载

java各种常用的工具类封装 源码

2013年08月13日 6.59MB 下载

go语言工具类

2018年01月23日 1.85MB 下载

没有更多推荐了,返回首页

关闭
关闭