本文转载自:http://www.cnblogs.com/songzhen/p/5794494.html

一、导入jar包:

(因为之前使用的是jackson 1.x的jar包,所以在把json转换成list时候没有objectMapper.getTypeFactory()这个方法,而使用jackson 2.x的jar包会有)

jackson 1.x:jackson-all-1.7.6.jar(1个核心文件)

jackson 2.x:jackson-annotations-2.5.0.jar、jackson-core-2.5.0.jar、jackson-databind-2.5.0.jar(3个核心文件)

二、建立java对象User:

package com.cn.jackson.entity;public class User {private String name;private Integer age;private String address;public User(){}public User(String name, Integer age, String address) {super();this.name = name;this.age = age;this.address = address;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}}

三、测试jackson 2.x的使用方法:

package com.cn.jackson.test;import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import com.cn.jackson.entity.User;
import com.fasterxml.jackson.core.JsonEncoding;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;public class Test_2_x {public static void main(String[] args) {try {ObjectMapper objectMapper = new ObjectMapper();JsonGenerator jsonGenerator = objectMapper.getJsonFactory().createJsonGenerator(System.out, JsonEncoding.UTF8);//对象转JSONUser user = new User("张三", 23, "深圳市");System.out.println("ObjectMapper方式");objectMapper.writeValue(System.out, user);//直接输出到控制台String userJsonStr = objectMapper.writeValueAsString(user);//返回字符串,输出
            System.out.println(userJsonStr);System.out.println("JsonGenerator方式");jsonGenerator.writeObject(user);System.out.println();//map转JSONMap<String , Object> map = new HashMap<String ,Object>();map.put("one", new User("张", 12, "深圳"));map.put("two", new User("李", 22, "武汉"));map.put("three", new User("王", 32, "北京"));System.out.println("ObjectMapper方式");objectMapper.writeValue(System.out, map);//JsonGenerator方式同上//list转JSONList<User> list = new ArrayList<User>();list.add(new User("张", 12, "深圳"));list.add(new User("李", 22, "武汉"));list.add(new User("王", 32, "北京"));System.out.println("ObjectMapper方式");objectMapper.writeValue(System.out, list);//JsonGenerator方式同上//JSON转java对象:String json = "{\"name\":\"张三\",\"age\":23,\"address\":\"深圳市\"}";User zhang = objectMapper.readValue(json, User.class);System.out.println(zhang.getName()+"\n"+zhang.getAge()+"\n"+zhang.getAddress());//JSON转listString listJson = "[{\"name\":\"张三\",\"age\":21,\"address\":\"深圳\"},"+ "{\"name\":\"李四\",\"age\":11,\"address\":\"武汉\"},"+ "{\"name\":\"王五\",\"age\":31,\"address\":\"北京\"}]";JavaType javaType1 = objectMapper.getTypeFactory().constructParametricType(ArrayList.class, User.class);List<User> userList = (List<User>)objectMapper.readValue(listJson, javaType1);for (User user1 : userList) {System.out.println(user1.getName()+"\t"+user1.getAge()+"\t"+user1.getAddress());}//JSON转mapString mapJson = "{\"one\":{\"name\":\"张三\",\"age\":21,\"address\":\"深圳\"},"+ "\"two\":{\"name\":\"李四\",\"age\":11,\"address\":\"武汉\"},"+ "\"three\":{\"name\":\"王五\",\"age\":31,\"address\":\"北京\"}}";JavaType javaType2 = objectMapper.getTypeFactory().constructParametricType(HashMap.class, String.class, User.class);Map<String,User> userMap = (Map<String,User>)objectMapper.readValue(mapJson, javaType2);User one = userMap.get("one");User two = userMap.get("two");User three = userMap.get("three");System.out.println(one.getName()+"\t"+one.getAge()+"\t"+one.getAddress());System.out.println(two.getName()+"\t"+two.getAge()+"\t"+two.getAddress());System.out.println(three.getName()+"\t"+three.getAge()+"\t"+three.getAddress());} catch (IOException e) {e.printStackTrace();}}
}

四、测试jackson 1.x的使用方法:

package com.cn.jackson.test;import java.util.List;
import java.util.Map;import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;import com.cn.jackson.entity.User;public class Test_1_x {public static void main(String[] args) {try {//后面几种转换同Test_2_x一样  //对象转JSON  //map转JSON  //list转JSON  //JSON转java对象//JSON转listObjectMapper objectMapper = new ObjectMapper();String listJson = "[{\"name\":\"张三\",\"age\":21,\"address\":\"深圳\"},"+ "{\"name\":\"李四\",\"age\":11,\"address\":\"武汉\"},"+ "{\"name\":\"王五\",\"age\":31,\"address\":\"北京\"}]";List<User> userList = objectMapper.readValue(listJson, new TypeReference<List<User>>() {});for (User user1 : userList) {System.out.println(user1.getName()+"\t"+user1.getAge()+"\t"+user1.getAddress());}//JSON转mapString mapJson = "{\"one\":{\"name\":\"张三\",\"age\":21,\"address\":\"深圳\"},"+ "\"two\":{\"name\":\"李四\",\"age\":11,\"address\":\"武汉\"},"+ "\"three\":{\"name\":\"王五\",\"age\":31,\"address\":\"北京\"}}";Map<String,User> userMap = objectMapper.readValue(mapJson, new TypeReference<Map<String,User>>() {});User one = userMap.get("one");User two = userMap.get("two");User three = userMap.get("three");System.out.println(one.getName()+"\t"+one.getAge()+"\t"+one.getAddress());System.out.println(two.getName()+"\t"+two.getAge()+"\t"+two.getAddress());System.out.println(three.getName()+"\t"+three.getAge()+"\t"+three.getAddress());} catch (Exception e) {// TODO: handle exception
        }}
}

Jackson转换java对象与json对象相关推荐

  1. java 视图对象转换,使用spring boot开发时java对象和Json对象转换的问题_JavaScript_网络编程...

    将java对象转换为on对象,市面上有很多第三方jar包,如下: jackson(最常用) com.fasterxml.jackson.core jackson-databind 2.11.2 gso ...

  2. java对象和json对象之间互相转换

    2019独角兽企业重金招聘Python工程师标准>>> import java.util.ArrayList; import java.util.Collection; import ...

  3. jsp 将java对象转json对象 (自定义EL函数)

    功能:在 jsp 页面将 java对象 转换为 json对象 (使用自定义EL函数实现) 步骤: 1. 创建 JSP EL 工具类 2. 创建 tld 文件 3. 配置 web.xml 文件 4. 完 ...

  4. json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值...

    json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 原文:json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 主要内容: 一 ...

  5. Java对象转换为Json对象

    前言 曾几何时,XML是程序员的宠儿,是数据传输.API.AJAX应用等方面的不二选择,但自从JSON横空出世后,或者你会发觉你身边就有很多人开始抛弃XML,在他们的心目中,JSON已经完全取代了XM ...

  6. java对象与json对象间的相互转换的方法

    String json=JSON.toJSONString(user);//关键 1.简单的解析json字符串 首先将json字符串转换为json对象,然后再解析json对象,过程如下. 1 JSON ...

  7. java map转JSON对象

    java map转JSON对象 net.sf.json.JSONObject.fromObject(map)

  8. java对象与json对象间的相互转换

    工程中所需的jar包,因为在网上不太好找,所以我将它放到我的网盘里了,如有需要随便下载. 点击下载 1.简单的解析json字符串 首先将json字符串转换为json对象,然后再解析json对象,过程如 ...

  9. JavaScript对象、JSON对象、JSON字符串的区别

    一.首先看下什么是JSON JSON:JavaScript Object Natation,JavaScript对象的表现形式,已经发展成一种轻量级的数据交换格式. JavaScript对象的表现形式 ...

  10. SpringBoot将自定义对象转JSON对象问题研究

    SpringBoot JSON序列化自定义对象研究 1. 问题描述 1.1 工程代码 1.2 测试 2. 问题分析 2.1 初步分析结论 2.2 实验验证结论 2.3 问题拓展 3. 结论 摘要(干货 ...

最新文章

  1. 分布式全局序列号生产,Twitter Snowflake算法,雪花算法
  2. 开发日记-20190529 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》
  3. Asp.Net Core 2.0 多角色权限认证
  4. leetcode 381. O(1) 时间插入、删除和获取随机元素 - 允许重复
  5. Python数据类型-元组类型
  6. lamp mysql5.0_CentOS 5/6 LAMP(Apache MySQL PHP)一键安装脚本
  7. window7安装MongoDB详细步骤
  8. 将数据库返回的ResultSett转换成List装Map形式的方法(ResultSetToList)
  9. 软件工程概论个人总结
  10. oracle函数应用,oracle函数应用
  11. php js 交互(js调用PHP代码执行)
  12. word文档添加多个目录
  13. react 工程启动运行时,报错Content not from webpack is served from ...
  14. linux马达驱动程序,一种Linux系统的微型针式打印机及其驱动方法与流程
  15. 使用PlatformIO IDE开发Arduino如何安装和调用外部库文件【基于Visual Studio Code平台】
  16. 利用Rustlings对Rust语言进行学习
  17. 解决右键点击文件反应很慢 (可解决文件夹,以及各种exe,快捷方式,图片,txt等文件) 【亲测有效】
  18. Apache web服务器目录结构、发布网站
  19. 好用的Android软件汇总
  20. 做网站注意事项,网站建设标准流程

热门文章

  1. 数据结构版学生管理系统
  2. java手机调查问卷_JAVA学习调查问卷——20145101
  3. Django——云笔记项目2
  4. 适合理工直男的钟平老师逻辑英语学习笔记
  5. CAD怎么进行给水计算?CAD给水计算教程
  6. 零售行业如何进行活动前的准备工作
  7. PDF阅读软件哪个好用?思路提供
  8. 水面漂浮物垃圾识别检测算法 yolov7
  9. VMware的linux虚拟机玩耍 [2] (环境配置与一些软件安装)
  10. 自制PMW3901光流模块