关于FastJSON序列化Bean时对get方法调用的细节

news2024/11/28 6:47:11

结论

使用JSON.toJSONString去序列化Bean的时候
FastJSON会把Bean里面的get开头有返回值没有参数的方法都调用一遍。

看代码

package org.example.domain;

import lombok.Getter;
import lombok.Setter;

/**
 * @program: parent_pro
 * @description:
 * @author: 渭水
 * @create: 2023/10/31
 */
@Getter
@Setter
public class OtherPerson {
    private Integer age;
    public String getPerson2(String s) {
        System.out.println("getPerson");
        return "abc";
    }

    public void getPerson4() {
        System.out.println("getPerson4");
    }

    public void getPerson5(String s) {
        System.out.println("getPerson5");
    }

    public String getPerson3() {
        System.out.println("getPerson3");
        return "abc";
    }
}

测试类如下

package org.example;

import com.alibaba.fastjson2.JSON;

import org.example.domain.OtherPerson;

/**
 * @program: parent_pro
 * @description:
 * @author: 渭水
 * @create: 2023/11/03
 */
public class JSONTest {
    public static void main(String[] args) {
        OtherPerson otherPerson = new OtherPerson();
        otherPerson.setAge(18);
        System.out.println(JSON.toJSONString(otherPerson));
    }
}

运行结果
在这里插入图片描述

关于ArrayIndexOutOfBoundsException

另外这里用的FastJSON版本是

    <dependency>
      <groupId>com.alibaba.fastjson2</groupId>
      <artifactId>fastjson2</artifactId>
      <version>2.0.41</version>
    </dependency>

如果版本低于2.0.35,且bean里面有返回值为void的且get开头的方法就会报错:java.lang.ArrayIndexOutOfBoundsException

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1168799.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

为何袁世凯要把“元宵节”改为“上元节”?

网民把春节除夕日排除在法定假期之外的相关热议&#xff0c;在微博评论区部分已被关闭。官方学者的解释是&#xff1a;“回归传统。” 这就令人难免要回顾历史&#xff0c;并发觉只有在袁世凯称帝之后&#xff0c;才有过取消“元宵节”改为“上元节”的笑话&#xff0c;因为“元…

数模国赛——多波束测线问题模型建立研究分析

第一次参加数模国赛&#xff0c;太菜了~~~~意难平 问题一 画出与测线方向垂直的平面和海底坡面的交线构成一条与水平面夹角为&#x1d400;的斜线的情况下的示意图进行分析&#xff0c;将覆盖宽度分为左覆盖宽度和右覆盖宽度&#xff0c;求出它们与海水深度和&#x1d400;、…

纷享销客荣获最佳制造业数字营销服务商奖

2023年10月26日&#xff0c;第二届中国制造业数智化发展大会在上海盛大召开。本次大会汇聚了制造行业的顶尖企业和专家&#xff0c;共同探讨如何通过数字化转型赋能企业自身成长&#xff0c;实现信息化向数字化的升级转型。 在本次盛会上&#xff0c;纷享销客以其卓越的基本面、…

[激光原理与应用-75]:西门子PLC系列选型

目录 一、西门子PLC PLC系列 二、西门子PLC S7 1200系列 2.1 概述 2.2 12xx系列比较 三、西门子 PLC 1212C系列 四、主要类别比较 4.1 AC/DC/RLY的含义 4.2 AC/DC/RLY与DC/DC/DC 4.3 直流输入与交流输入比较 4.4 继电器输出与DC输出的区别 一、西门子PLC PLC系列 …

人工智能与卫星:颠覆性技术融合开启太空新时代

人工智能与卫星&#xff1a;颠覆性技术融合开启太空新时代 摘要&#xff1a;本文将探讨人工智能与卫星技术的融合&#xff0c;并介绍其应用、发展和挑战。通过深入了解这一领域的前沿动态&#xff0c;我们将展望一个由智能卫星驱动的未来太空时代。 一、引言 近年来&#xf…

【华为OD题库-018】AI面板识别-Java

题目 Al识别到面板上有N(1<N≤100)个指示灯&#xff0c;灯大小一样&#xff0c;任意两个之间无重叠。由于AI识别误差&#xff0c;每次识别到的指示灯位置可能有差异&#xff0c;以4个坐标值描述Al识别的指示灯的大小和位置(左上角x1,y1&#xff0c;右下角x2.y2)。请输出先行…

可视化协作软件有哪些?这10款神器助力团队合作!

可视化协作已经成为一个时下热门词汇&#xff0c;问题是对其并没有一个清晰的定义。有人认为它代表了一个云端环境&#xff0c;具有能够使办公室、混合办公和远程员工一起工作的功能。其他人则认为可视化协作不过是数字化白板而已。 随着这个术语变得更加流行&#xff0c;许多…

番外---9.0 firewall 网络

### 网络配制方式&#xff1a; 00&#xff1a;依据图形界面形式配置&#xff08;nmtui&#xff09;&#xff1b; 01&#xff1a;命令形式配置(nmcli)&#xff1b; 02&#xff1a;使用系统菜单配置&#xff1b; 00&#xff1a;依据图形界面形式配置&#xff08;nmtui&#xff0…

【Redis】进阶篇--用JAVA代码操作Redis

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于Redis的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.Java连接Redis 1.导入pom依赖 ​2.Ja…

Spring Boot中解决跨域问题(CORS)

1. 跨域介绍 首先解释什么是跨域&#xff0c;跨域就是前端和后端的端口号不同&#xff1b;会产生跨域问题&#xff0c;这里浏览器的保护机制&#xff08;同源策略&#xff09;。 同源策略&#xff1a;前端和后端的协议、域名、端口号三者都相同叫做同源。 我们看一下不同源&am…

SAP SD 定价 删除不满足条件的的条件类型

项目上的需求&#xff1a;当销售订单行项目类别满足条件时&#xff0c;根据配置表&#xff0c;删除不满足条件的的条件类型。 直接上增强点&#xff0c;bapi也能跑到这个位置。

优思学院|领导力是什么?与管理能力有何不同?领导力也能够后天培养!

什么是领导力&#xff1f; 在现代商业世界中&#xff0c;领导力不再仅仅是指挥下属&#xff0c;而是一种复杂的技能&#xff0c;需要具备多方面的能力和特质。领导力是指一个人能够影响、激励和指导他人&#xff0c;以达成共同目标的能力。与管理能力相比&#xff0c;领导力更…

JavaScript:事件循环机制(EventLoop)

一、理解进程、线程 进程是操作系统中的基本概念之一&#xff0c;指的是一个正在运行中的程序&#xff0c;包括了程序的执行代码、数据、资源等。操作系统为每个进程分配一定的系统资源&#xff0c;例如内存空间、文件和设备等&#xff0c;以便进程能够正常运行。 线程是进程…

【jvm】虚拟机栈之方法返回地址

目录 一、说明二、方法退出三、代码示例四、截图示例 一、说明 1. 存放调用该方法的pc寄存器的值。 2. 一个方法的结束&#xff0c;有两种方式&#xff1a;正常执行完成和出现未处理的异常的非正常退出 3. 无论通过哪种方式退出&#xff0c;在方法退出后都返回到该方法被调用的…

【lvgl】linux开发板搭建环境

前言 本章介绍如何在linux开发板准备好了fb0的情况下移植lvgl。 抓取源码 git clone https://github.com/lvgl/lvgl.git git clone https://github.com/lvgl/lv_drivers.git git clone https://github.com/lvgl/lv_demos.git git clone https://github.com/lvgl/lv_port_lin…

【Docker】手把手教你使用Docker搭建kafka【详细教程】

目录 前提条件 1.安装Zookeeper 1.1运行ZooKeeper容器 2.运行Kafka容器 2.1启动Kafka容器 3.验证 3.1进入Kafka容器 3.2查看容器状态 3.3查看容器日志 3.4重新启动容器 3.5创建测试主题 前提条件 1. 安装Docker: 确保你已经在你的Windows机器上安装了Docker。你可以…

升级智能监控,真香!

随着社会的发展与进步&#xff0c;传统依赖看的监控已经无法满足大众的需求&#xff0c;不够智能、识别不精准&#xff0c;传统监控的弊端也日益显现&#xff0c;智能监控升级迫在眉睫。 升级智能监控&#xff0c;不仅能够促进公共安全&#xff0c;同时也能促进社会文明的发展…

Vue3多页面开发实践

前言&#xff1a; 项目需求&#xff0c;把项目中的一个路由页面单摘出来作为一个新的项目。项目部署到服务器上后&#xff0c;通过一个链接的形式可以直接访问到新项目的页面。 解决方式&#xff1a; 使用Vue多页面方式打包项目 实现步骤&#xff1a; 1、在项目的src目录下&am…

四、二叉树

树是常用的数据存储方式&#xff0c;由于树中存在大量的指针结构&#xff0c;所以树的有关操作相对来说是比较难的。 一、 树的定义 这里用二叉树来举例子 使用结构体的方式实现二叉树: struct BinaryTreeNode {int data;BinartTreeNode* left;BinartTreeNode* right; };使用…

柯桥俄语考级培训,俄语专八如何备考

1.用好真题 真题一共分为&#xff1a;口语表述、听力、词汇语法句法、文学常识、国情、阅读理解、俄汉互译、作文等部分。 第一&#xff0c;要自己动手做真题&#xff0c;然后对答案&#xff0c;看错题错在什么地方&#xff0c;还有哪些知识点是盲区。 第二&#xff0c;分析每…