文档章节

Jackson:Java与Json互转

派卡琪安
 派卡琪安
发布于 2013/08/20 21:13
字数 398
阅读 737
收藏 17

Jackson解析的速度算是同类框架中最快的,同时也是Spring MVC中内置使用的解析方式。

 准备工作:

下载jar包:http://jackson.codehaus.org/1.7.6/jackson-all-1.7.6.jar
Jackson依赖的jar包相对较少,使用起来也比较简单。
直接贴出Jackson的相关代码,非常简单,就两个方法:

public class JSonUtils {

    static ObjectMapper objectMapper;

    /**
     *      使用泛型方法,把json字符串转换为相应的JavaBean对象。
     *      (1)转换为普通JavaBean:readValue(json,Student.class)
     *      (2)转换为List:readValue(json,List.class).但是如果我们想把json转换为特定类型的List,比如List<Student>,就不能直接进行转换了。
     *         因为readValue(json,List.class)返回的其实是List<Map>类型,你不能指定readValue()的第二个参数是List<Student>.class,所以不能直接转换。
     *         我们可以把readValue()的第二个参数传递为Student[].class.然后使用Arrays.asList();方法把得到的数组转换为特定类型的List。
     *      (3)转换为Map:readValue(json,Map.class)
     *      我们使用泛型,得到的也是泛型
     * 
     * @param content 要转换的JavaBean类型
     * @param valueType 原始json字符串数据
     * @return JavaBean对象
     */
    public static <T> T readValue(String content, Class<T> valueType) {
        if (objectMapper == null) {
            objectMapper = new ObjectMapper();
        }
        try {
            return objectMapper.readValue(content, valueType);
        } catch (Exception e) {
            e.printStackTrace();
        }

        return null;
    }

    /**
     *      把JavaBean转换为json字符串 
     *      (1)普通对象转换:toJson(Student) 
     *      (2)List转换:toJson(List)
     *      (3)Map转换:toJson(Map)
     * 我们发现不管什么类型,都可以直接传入这个方法
     * 
     * @param object JavaBean对象
     * @return json字符串
     */
    public static String toJSon(Object object) {
        if (objectMapper == null) {
            objectMapper = new ObjectMapper();
        }
        try {
            return objectMapper.writeValueAsString(object);
        } catch (Exception e) {
            e.printStackTrace();
        }

        return null;
    }

}


本文转载自:http://www.cnblogs.com/china-li/archive/2013/04/25/3041838.html

派卡琪安
粉丝 28
博文 61
码字总数 19664
作品 0
广州
程序员
私信 提问
加载中

评论(1)

komelio
komelio
fastjson
有效选择七个关于 Java 的 JSON 开源类库

有效选择七个关于Java的JSON开源类库 April 4, 2014 By Constantin Marian Alin 翻译:无若 (英语原文:http://www.developer.com/lang/jscript/top-7-open-source-json-binding-providers-......

溪边九节
2014/04/19
12.9K
14
有效选择七个关于Java的JSON开源类库

April 4, 2014 By Constantin Marian Alin 翻译:无若 (英语原文:http://www.developer.com/lang/jscript/top-7-open-source-json-binding-providers-available-today.html) 简介 JSON是J......

无若
2014/04/19
6K
1
Moco 0.10.2 发布,模拟服务器

Moco是什么? Moco是一个可以轻松搭建测试服务器的框架/工具/程序库。 toJson将普通Java对象转换成JSON文本用于应答。 json将普通Java对象转换成JSON文本用于请求匹配。 增加无端口的socketS...

dreamhead
2015/09/09
2K
0
Spring Boot 返回 JSON 数据,一分钟搞定!

在 WEB 项目中返回 JSON 数据是常见的交互形式,在 Spring Boot 中这一切都变得十分简单。So easy!!! 你所需具备的基础 什么是 Spring Boot? Spring Boot 核心配置文件详解 Spring Boot 开启...

Java技术栈
2018/12/14
121
0
Jackson工具类使用及配置指南、高性能配置(转)

Jackson使用工具类 通常,我们对JSON格式的数据,只会进行解析和封装两种,也就是以及。 public class JsonUtils { Logger for this class } 将json string反序列化成对象 @param json @par...

easonjim
2018/02/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java FOR-EACH循环

FOR-EACH循环使得代码更加的简短,也让代码更加易懂,其实他并没有加入什么新的功能。他的功能完全可以用简单的FOR循环代替。 for-each的用法: int a[] = {1,2,3,4,5,6} for(int s:a){ Syst...

无名氏的程序员
24分钟前
3
0
使用HTML5的History API

本文转载于:专业的前端网站➣使用HTML5的History API   HTML5 History API提供了一种功能,能让开发人员在不刷新整个页面的情况下修改站点的URL。这个功能很有用,例如通过一段JavaScript代...

前端老手
26分钟前
4
0
JAVA 编写redisUtils工具类,防止高并发获取缓存出现并发问题

import lombok.extern.slf4j.Slf4j;import org.springframework.data.redis.core.BoundHashOperations;import org.springframework.data.redis.core.BoundValueOperations;import org.......

huangkejie
今天
7
0
JMM内存模型(一)&volatile关键字的可见性

在说这个之前,我想先说一下计算机的内存模型: CPU在执行的时候,肯定要有数据,而数据在内存中放着呢,这里的内存就是计算机的物理内存,刚开始还好,但是随着技术的发展,CPU处理的速度越...

走向人生巅峰的大路
今天
99
0
你对AJAX认知有多少(2)?

接着昨日内容,我们几天继续探讨ajax的相关知识点 提到ajax下面几个问题又是必须要了解的啦~~~ 8、在浏览器端如何得到服务器端响应的XML数据。 通过XMLHttpRequest对象的responseXMl属性 9、 ...

理性思考
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部