Object对象转实体对象,java对象转json

article/2025/11/11 4:26:03

Object对象转实体对象

在后台发起HTTP请求的时候,响应体传回的一般是Object或者JSON字符串。

方法一

要将Object对象转换成实体类对象可以先使用com.alibaba.fastjson.JSONObject类的toJSONString方法将Object对象转换成JSON字符串,然后再调用JSONObject.parseObject(jsonString,实体类.class)。
这种方法的好处是,系统会根据实体类所拥有的字段去匹配,匹配上的就将值赋给实体类,没匹配上就跳过。建议使用

User user= JSONObject.parseObject(JSONObject.toJSONString(o),User.class);

方法二

使用com.fasterxml.jackson.databind.ObjectMapper类,调用objectMapper.convertValue(obj, 实体类.class)可以直接将object对象解析成对应的实体类,不过缺点很明显,如果object中的某些字段在实体类中无法找到对应的字段,那么就会报错,不推荐。

           User user= objectMapper.convertValue(obj, User.class);

java对象转json

spring报错:
No converter found for return value of type: class java.util.ArrayList
spring是没有将ArrayList转换成json的转换器的,需要导入json依赖。
如果是返回值的转json推荐导依赖,日常的业务代码转json,推荐方法四。

<!--jackson依赖--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.11.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.11.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.11.0</version></dependency>

后台java对象转json
方式一:导入jackson依赖之后,直接返回对象就可以转换成json格式。

 @ResponseBody@RequestMapping("/queryStudents.do")public List<Student> queryStudents(){List<Student> list= studentService.queryStudents();return list;}

方式二:可以使用ObjectMapper,直接将对象转换成json对象,map对象可以转,一般遇到的对象也可以转。不过该方式注意编码方式,要设置UTF-8编码。

@ResponseBody@RequestMapping(value = "deleteStudent.do",produces = "text/html;charset=UTF-8")public String deleteStudent(int id){int nums=studentService.deleteStudent(id);Student s=new Student();if(nums>0){s.setName("龙哥");}HashMap<Integer,String> map=new HashMap<>();map.put(1,"龙龙long");ObjectMapper om=new ObjectMapper();String res="";try {res=om.writeValueAsString(s);} catch (JsonProcessingException e) {e.printStackTrace();}return res;}

方法三:可以直接手写json格式的字符串,然后返回,里面必须使用双引号,因此要用反转义字符。

        String  tips="删除失败";if(nums>0){tips="{\"tips\":true}";}return tips;

方式四:可以使用com.alibaba.fastjson.JSONObject
传递一个对象即可将对象转换成json格式。

import com.alibaba.fastjson.JSONObject;
import java.util.HashMap;
import java.util.Map;public class Test {public static void main(String[] args) {Map<String,Object> map=new HashMap<>();map.put("1",1);map.put("2",2);map.put("3",3);map.put("4","sd");//转json格式的字符串String s = JSONObject.toJSONString(map);System.out.println(s);}
}

结果:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/dHgbhOUd.shtml

相关文章

对象 和 json 互转 四种方式 json-lib、Gson、FastJson、Jackson

文章目录 一、 json-lib二、 Google的Gson1.简介2. 配置步骤1. MAVEN 依赖引入2. gsonUtil 工具类3. 排除不要序列化的熟悉注解类 Exclude 三. 阿里巴巴的FastJson1.简介2.配置步骤1.引入maven2. 配置 CustomFastjsonConfig3. 测试 4. 开源的Jackson简介&#xff1a;Jackson配置…

大数据Java学哪个好,哪个更有发展前景?

文章来源&#xff1a;加米谷大数据 在IT职业技能培训当中&#xff0c;Java开发可以说是非常经典的一个方向&#xff0c;行业当中对于Java开发人才&#xff0c;早年可以是存在长期持续性的需求。而大数据&#xff0c;作为近年来的新兴技术热点&#xff0c;也同样备受关注。因此很…

大数据Java基础之常用类

欢迎关注公众号&#xff1a; 9-1 字符串相关的类 String常用方法 9-2 JDK8之前日期时间API 9-4 Java比较器 9-5 System类 9-6 Math类 9-7 BigInteger与BigDecimal

Java毕设项目医疗大数据系统计算机(附源码+系统+数据库+LW)

Java毕设项目医疗大数据系统计算机&#xff08;附源码系统数据库LW&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项…

方向选择(嵌入式 大数据 java)

时间匆匆&#xff0c;不知不觉大二后半期了。晚上开了会要确定方向选择&#xff0c;嵌入式&#xff0c;大数据&#xff0c;java三个方向。 犹豫了好久&#xff0c;因为学了一段时间的java还是偏向于java的 不过也想学大数据&#xff0c;因为最近很火 大家都 知道的。现在来简…

大数据入门:Java和Scala编程对比

在学习大数据之初&#xff0c;很多人都会对编程语言的学习有疑问&#xff0c;比如说大数据编程主要用什么语言&#xff0c;在实际运用当中&#xff0c;大数据主流编程是Java&#xff0c;但是涉及到Spark、Kafka框架&#xff0c;还需要懂Scala。今天的大数据入门分享&#xff0c…

视频教程-大数据Java强化班(十)之大数据爬虫-Java

大数据Java强化班(十)之大数据爬虫 10年一线开发及项目管理经验&#xff0c;6年以上大数据项目架构、实施、开发与运维经验&#xff0c;骨灰级大数据玩家&#xff0c;对Hadoop、Storm、Spark、Flink、Kylin、Druid等大数据技术有较深研究。搭建、维护过上百节点集群&#xff0c…

Java大数据开发

(后记&#xff1a;写这些东西不管出于什么目的&#xff0c;总之自己乐意&#xff0c;有时候回顾一下&#xff0c;别有一番滋味&#xff01;) 博主 QQ&#xff1a;1103088881 idea 从菜鸟到大神 css-3d旋转相册 时钟罗盘 Java学习方法总结 Java 面向对象 …

大数据用Python还是JAVA

前言 大数据用python还是java?书声琅琅教育番茄老师介绍&#xff0c;人生苦短&#xff0c;我用python&#xff0c;这是目前比较流行的行话了&#xff0c;对于用python好还是JAVA好&#xff0c;大家都有自己的看法&#xff0c;虽然JAVA流行时间较&#xff0c;但是python出现的…

Java及大数据学习路线

1.Java学习路线 1.1JavaSE Java基础 Java8新特性 数据库MySQL与SQL语言 JDBC 1.2JavaWeb HTML基础与CSS JavaScript DOM 与 jQuery XML与Tomcat HTTP协议 服务器端组件Servlet JSP EL表达式 JSTL 会话控制Cookie和Session 服务器端组件Filter 服务器端组件Listener 国际化 …

搞大数据,Java 工程师需要掌握哪些知识?

先看再点赞&#xff0c;给自己一点思考的时间&#xff0c;微信搜索【沉默王二】关注这个有颜值却假装靠才华苟且的程序员。 本文 GitHub github.com/itwanger 已收录&#xff0c;里面还有我精心为你准备的一线大厂面试题。 题目是一名叫“截然不同”的同学私信我的一个问题&…

大数据Java基础之Java反射机制

欢迎关注公众号&#xff0c;一起进步&#xff0c;共同成长。 15-1 Java反射机制概述 15-2 理解Class类并 获取Class的实例 15-3 类的加载 与ClassLoader的理解 15-4 创建运行时类的对象 15-5 获取运行时类的完 整结构 15-6 调用运行时类的指定结构 15-7 反射的应用&#xff1a;…

大数据java基础吗?

大数据必备 关于大数据基础知识&#xff0c;以前浪尖写过一篇文章&#xff0c;也多次在 知识星球里分享过经验。 具体学习内容&#xff0c;可以参看如下文章&#xff1a; 入门大数据必读 这个可以看到做大数据的话java是必需品&#xff0c;因为基本所有的大数据框架都是jvm开发…

大数据Java基础之异常

欢迎关注公众号&#xff1a; Java知识体系 7-1 异常概述与异常体系结构 7-2 常见异常 7-3 异常处理机制一&#xff1a;try-catch-finally 7-4 异常处理机制二&#xff1a;throws 7-6 用户自定义异常类

大数据Java基础之集合

欢迎关注公众号&#xff1a; 11-1 Java集合框架概述 11-2 Collection接口方法 11-3 Iterator迭代器接口 11-4 Collection子接口之一&#xff1a;List接口 List实现类之二&#xff1a;LinkedList 11-5 Collection子接口之二&#xff1a;Set接口 11-6 Map接口 Map实现类之二&…

大数据 java操作hive

大数据 java操作hive 版权声明&#xff1a; 本文为博主学习整理原创文章&#xff0c;如有不正之处请多多指教。 未经博主允许不得转载。 https://blog.csdn.net/qq_42595261/article/details/83022249 虚拟机上操作&#xff0c;保证hive数据库能正常连接进入。 如因退出没有…

【全集】大数据Java基础

课程介绍 本课程是由猎豹移动大数据架构师&#xff0c;根据Java在公司大数据开发中的实际应用&#xff0c;精心设计和打磨的大数据必备Java课程。通过本课程的学习大数据新手能够少走弯路&#xff0c;以较短的时间系统掌握大数据开发必备语言Java&#xff0c;为后续大数据课程的…

gmap参数

2019独角兽企业重金招聘Python工程师标准>>> --min-intronlength 最小intron的长度. 挪威云杉最短intron是34 --max-intronlength-middle 基因中间最长intron的长度. 挪威云杉最长intron是68,269 Note: for backward compatibility, the -K or --intronlength fla…

从零开始搭建一个GIS开发小框架(八)——GMap.Net组件WPF版本资源目录树效果

目录 1.概述2.运行效果3.踩坑笔记 1.概述 今天借GIS项目实现一个资源目录树效果&#xff0c;这个效果在各种管理系统中是最常见的一个功能&#xff0c;甲方最爱&#xff0c;面试必考&#xff0c;这次在WPF平台使用TreeView控件实现&#xff08;5层图标&#xff09;&#xff0c…