jackson的使用

jackson工具类

package com.taotao.utils;

import java.util.List;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonUtils {

    // 定义jackson对象
    private static final ObjectMapper MAPPER = new ObjectMapper();

    /**
     * 将对象转换成json字符串
     */
    public static String objectToJson(Object data) {
        try {
            String string = MAPPER.writeValueAsString(data);
            return string;
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 将json结果集转化为对象
     *
     */
    public static <T> T jsonToPojo(String jsonData, Class<T> beanType) {
        try {
            T t = MAPPER.readValue(jsonData, beanType);
            return t;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 将json数据转换成pojo对象list
     */
    public static <T>List<T> jsonToList(String jsonData, Class<?> target, Class<T> beanType) {

        JavaType javaType = MAPPER.getTypeFactory().constructParametricType(target, beanType);

        try {
            List<T> list = MAPPER.readValue(jsonData, javaType);
            return list;
        } catch (Exception e) {
            e.printStackTrace();
        }

        return null;
    }

    public static void main(String[] args) {
        System.out.println(JsonUtils.jsonToPojo("[{\"username\":\"youth\"}]", List.class).get(0).getClass());
    }

}
时间: 2024-10-23 15:34:39

jackson的使用的相关文章

java.lang.ClassNotFoundException: org.codehaus.jackson.JsonProcessingException 异常解决方案

问题: 在SpringMVC中使用Jackson实现json输出时配置如下: <!-- 输出对象转JSON支持 --> <bean id="stringConverter" class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list>

at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields异常

at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:666) at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:156) at com.fasterxml.jackson.databind.ser.impl.IndexedListSe

使用Jackson操作Json

1.引入jasckson-core.jar,jackson-annotations.jar和jackson-databind.jar 2.因为没有做从http获取和提交json数据,所以做个数据类代替 1 class WxJson { 2 public String getAccess_token() { 3 return access_token; 4 } 5 6 public void setAccess_token(String access_token) { 7 this.access_

Jackson 框架,轻易转换JSON

Jackson 框架,轻易转换JSON Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象. 前面有介绍过json-lib这个框架,在线博文:http://www.cnblogs.com/hoojo/archive/2011/04/21/2023805.html 相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些.而且Jackson社区相对比较活跃,更新速度也比较快. 一.准备工作 1. 下

Jackson将json字符串转换成泛型List

转:http://www.cnblogs.com/quanyongan/archive/2013/04/16/3024993.html Jackson,我感觉是在Java与Json之间相互转换的最快速的框架,当然Google的Gson也很不错,但是参照网上有人的性能测试,看起来还是Jackson比较快一点 Jackson处理一般的JavaBean和Json之间的转换只要使用ObjectMapper 对象的readValue和writeValueAsString两个方法就能实现.但是如果要转换复杂

Jackson学习资料

Jackson JSON Processor Wiki Documentation for the Jackson JSON processor

Dubbo Jackson序列化使用说明

Jackson序列化提供了对基本数据类型和简单Bean的序列化的支持, 以及对类继承的支持. 已经经过测试的数据类型包括: Boolean/boolean Long/long Integer/int Double/double Short/short Float/float Byte/byte java.util.Date org.joda.time.DateTime 以及由这些基本数据类型组成的数组和Bean, 如 int[], String[]等. jackson序列化使用 <dubbo:p

Jackson高并发情况下,产生阻塞

情况:在高并发情况下,查看线程栈信息,有大量的线程BLOCKED. 从线程栈得知,线程栈中出现了阻塞,锁在了com.fasterxml.jackson.databind.ser.SerializerCache.untypedValueSerializer(SerializerCache.java:74)上. 1 "catalina-exec-1453" #1525 daemon prio=5 os_prio=0 tid=0x00007f1010098800 nid=0x2675 wai

Jackson序列化和反序列化Json数据完整示例

Jackson序列化和反序列化Json数据 Web技术发展的今天,Json和XML已经成为了web数据的事实标准,然而这种格式化的数据手工解析又非常麻烦,软件工程界永远不缺少工具,每当有需求的时候就会出现各种类库,框架以及工具来解决这些基础的问题,Jackson就是这些工具中的一个,使用这个工具开发者完全可以从手工结束Json数据的重复劳动中解放出来.使用Jackson首先需要下载相应的类库,如下的Maven dependency列出了完整的POM dependency. 1 <dependen

利用Jackson对Object,Map,List,数组,枚举,日期类等转化为json

Jackson  通过配置 JsonBinder ,来确定需要转化的JSON对象, 在Spring 配置 org.springframework.http.converter.json.MappingJackson2HttpMessageConverter  /**      * 创建输出全部属性到Json字符串的Binder.      */     public static JsonBinder buildNormalBinder() {         return new JsonBi