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

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;
	}
}
时间: 2024-08-02 13:26:41

jackson json和对象,集合的几种转换的相关文章

jackson 复杂对象集合 的几种简单转换

package com; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.List; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.d

Javascript中Json对象与Json字符串互相转换方法汇总(4种转换方式)

1.Json对象转Json字符串 JSON.stringify(obj); 2.Json字符串传Json对象 JSON.parse(str);//第一种 $.parseJSON(str);//第二种,等价于jQuery.parseJSON(str); eval('(' + str + ')');//第三种 (new Function("return " + str))();//第四种 3.样例 var obj={"one":"I am 1",&q

如何让Jackson JSON生成的数据包含的中文以unicode方式编码

我们都知道,Jackson JSON以高速.方便和灵活著称.之前的文章中介绍过使用注解的形式来规定如何将一个对象序列化成JSON的方法,以及如何将一个JSON数据反序列化到一个对象上.但是美中不足的一点就是对于中文的处理.当然我说的美中不足是在默认情况下,Jackson JSON不会将中文等非ASCII字符转换为\uFFFF这样的形式来显示.也就是说默认情况下会显示为{"name":"张三"}而不是{"name":"\u5F20\u4E

Jackson实现Object对象与Json字符串的互转

在项目开发过程中,当客户端与服务器响应时,数据交互是必不可少的.然而通过Json实现数据交互成为我们开发中的一部分,进而Jackson为我们的Json转化提供了很好的机制.下面我将利用实例总结如何使用jackson. 一.准备 如果你需要使用jackson,你必须得导入相应的架包,有如下三个包 jackson-annotations:jackson-core:jackson-databind Maven引入依赖代码 <span style="font-size:18px;">

jackson简单使用,对象转json,json转对象,json转list

添加jackson依赖: // https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.8.2' // https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-da

JSon_零基础_005_将po(bean)对象集合List转换为JSon格式的对象字符串,返回给界面

将po(bean)对象集合List转换为JSon格式的对象字符串,返回给界面 导入jar包: 编写:po(bean)代码: package com.west.webcourse.po; /** * 第01步:编写bean类, * 下一步com.west.webcourse.servlet.JavaBeanToJOSNString.java */ public class PersonInfoPo { private String name; private int age; private St

gson对json与对象与list集合的转换

import java.util.ArrayList; import java.util.List; import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.reflect.TypeToken; public class TestJson { public static void main(String[] args) { // 某对象转换成json // test(); // j

转载-------- JSON 与 对象 、集合 之间的转换 JSON字符串和java对象的互转【json-lib】

转载--*--*---- 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好,下面先看下JSON的格式, JSON可以有两种格式,一种是对象格式的,另一种是数组对象, {"name":"JSON","address":"北京市西城区","age":25}//JS

Json对象与Json字符串互转(4种转换方式)

一.jQuery插件支持的转换方式 1 $.paseJSON(jsonstr);//将json字符串转换为json对象 二.浏览器支持的转换方式(Firefox,Chrome,Opera,Safair,IE9,IE8) 1 JSON.parse(jaonstr);//将json字符串转换为json对象 2 JSON.stringify(jsonobj);//将json对象转换为json字符串 注意:由于ie8(兼容模式),ie7和ie6没有JSON对象,需要使用JSON官方的方式,引入json.