前言

前一段时间接手了一个公司比较老的项目,调用别别人接口返回的都是json字串,传统做法是将json的属性一个一个get出来,然后再set到实体对象或视图对象中,这样一个一个get、set实在太烦了,分明是体力活,于是从网上找了下资料,有方法可以将json自动映射到对象上,感觉比较不错。这里做个笔记,也给碰到类似问题的人一个参考,如有错误地方或是有更好的方法,欢迎指正!

测试用到的jar包:链接: https://pan.baidu.com/s/1ObUedaYkA02iY_caLf-rDw 提取码: t8az 

commons-beanutils-1.7.jar
commons-collections-3.2.1.jar
commons-lang-2.6.jar
commons-logging-1.2.jar
ezmorph-1.0.6.jar
jackson-all-1.8.5.jar
json-lib-2.4-jdk15.jar

废话不说了,下面直接上货了

测试实体:StudentVO

package jsontobean;import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.annotate.JsonProperty;@JsonIgnoreProperties(ignoreUnknown = true)//忽略没映射的属性
public class StudentVO {private Long id;@JsonProperty(value = "code")private String stuCode;@JsonProperty(value = "name")//如果json属性和实体不一致,就此注解映射private String stuName;private Integer age;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getStuCode() {return stuCode;}public void setStuCode(String stuCode) {this.stuCode = stuCode;}public String getStuName() {return stuName;}public void setStuName(String stuName) {this.stuName = stuName;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}}

测试类:TestMain

package jsontobean;import org.codehaus.jackson.map.ObjectMapper;import net.sf.json.JSONObject;public class TestMain {public static void main(String[] args) throws Exception {String jsonStr = "{\n" +"\t\"id\":1,\n" +"\t\"code\":\"test20190613\",\n" +"\t\"name\":\"时光键客\",\n" +"\t\"age\":23\n" +"}";System.out.println("转换前JSON字符串:\n" + jsonStr);ObjectMapper objectMapper = new ObjectMapper();StudentVO studentVO = objectMapper.readValue(jsonStr, StudentVO.class);JSONObject studentJSON = JSONObject.fromObject(studentVO);System.out.println("JSON字符串转成对象,对象又转成JSON:\n"+studentJSON);}}

测试结果:

java总结一:JSON转对象相关推荐

  1. json转对象,json转List,json转Map

    json转对象 JSONObject thumb = shopGoodsInfo.get("thumb"); UrlBo urlBo = JsonInfoUtil.jsonToOb ...

  2. java 对象转json json转对象

    java 对象转json json转对象 import com.alibaba.fastjson.JSON;/*** * @title: fastjson * @author: wll* @since ...

  3. java json和对象互相装换

    java json和对象互相装换 1.com.alibaba.fastjson.JSON 2.com.fasterxml.jackson.databind.ObjectMapper 转载于:https ...

  4. Java自己写一个json转换器,对象转json,json转对象

    介绍 gitee https://gitee.com/jiangjinghong520/servlet/tree/master/ 在json包里面 有空再完善思路,最近没时间,都是临时想法临时写 功能 ...

  5. java map转JSON对象

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

  6. java反射实现自定义json转对象方法-忽略字段大小写、字段个数

    java反射实现自定义json转对象方法-忽略字段大小写.字段个数 开发过程中经常会遇到json转对象,可以使用FastJson或者Gson自带的工具类进行转换,但当遇到json与对象属性名称大小写不 ...

  7. java list 转json 字符串_JSON的String字符串与Java的List列表对象的相互转换

    1.JSON的String字符串与Java的List列表对象的相互转换 在前端: 1.如果json是List对象转换的,可以直接遍历json,读取数据. 2.如果是需要把前端的List对象转换为jso ...

  8. Java对Json的一系列操作(构建、json与对象的转换)

    目录 前言: 一.JSON数据类型: 1.JSON对象: 2.JSON数组: 二.Java对json的操作: 1.构建JSON: 2.JSON和对象相互转换: 前言: 什么是JSON? 1.JSON ...

  9. java转json数组对象_java对象转json、json数组 、xml | 学步园

    JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean. 下载地址:http://json-lib.sourceforge.net ...

  10. json java typeof_java解析json

    1:下载另外一个Java的小包就可以了: http://www.JSON.org/java/json_simple.zip 里面有源码和文档例题和编程的lib包:编程只需要json_simple.ja ...

最新文章

  1. 无人驾驶——对frenet坐标的理解
  2. 华为云BU总裁:如何把AI从噱头变为生产力?
  3. 利用OpenCV的SimpleBlobDetector检测图像的奇异区域(斑点)
  4. Python Tkinter 常用控件空间位置摆放
  5. 第五章:系统困境之 你的努力忽略了关键限制因素
  6. 传锤子科技解散成都分公司 才搬迁一年罗永浩就顶不住了
  7. IDEA 快捷键终极大全
  8. linux 负载命令,通过Linux命令查看系统平均负载的方法
  9. JS判断一个数字是否为小数
  10. nodejs 环境搭建
  11. 学计算机的专属表白方式,九个学科专属表白句子-花式表白公式【蜜匠婚礼】...
  12. sql server调试_使用SQL Server扩展事件来调试应用程序
  13. [Java] 蓝桥杯 BASIC-4 基础练习 数列特征
  14. #C++初学记录(算法测试2019/5/5)(深度搜索)
  15. 10. Javascript DOM节点
  16. 基于WheelView的时间日期选择器封装
  17. 2014全新增强版迅捷PDF转换器介绍
  18. vue3.0架手架搭建以及注意事项
  19. 有限域的加减乘除运算
  20. NACOS 2.0.3 集群客户端连接出现503 500异常处理 踩坑记录

热门文章

  1. Java快速对接微信登录
  2. 2021布吉高级中学高考成绩查询,2021北京市地区高考成绩排名查询,北京市高考各高中成绩喜报榜单...
  3. 华为去年AI研发投入15亿美元,人才年薪平均30万美元
  4. 微信自定义分享,分享至QQ和空间自定义内容正常、分享至微信时只有链接问题
  5. 微信分享第三方网页链接自定义标题、描述、图片
  6. 怎么把浏览器改成开发者模式_小米手表怎么玩?Wear OS初体验
  7. 基于selenium的大麦网自动抢票脚本实测(新年第一篇)
  8. 解决dos打开界面变小和打开软件字体乱码的问题
  9. java将模糊的图片变清晰_java高清图生成缩略图变得模糊
  10. python之 ffmpeg给图片添加文字