您现在的位置是:首页 > 正文

自己挖坑自己跳 之JsonMappingException: (was java.lang.NullPointerException) (through reference chain:)...

2024-04-01 06:56:43阅读 3

  在Web项目中,我们经常会设计一些与界面相对应的JavaBean作为Entity,而为了兼容前台传入的空值,有些字段我们会用包装类型而不是基本类型。可是往往我的Entity已经设计完成,很多时候我们会在原来的Entity基础上修改字段返回值类型,而不是删去重写。于是问题就来了,一些大意的同学仅仅把属性的基本类型(如long)改为包装类型(如Long),而并没有将setter/getter的类型一起修改。

  这种情况会报错,而且报的错经常会让人摸不着头脑。下面列举了一种情况,是利用com.fasterxml.jackson将Entity序列化为Json字符串时出现上述疏忽报的错误:

com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: Student["sid"])

  我的Entity如下:

public class Student {
	private Long sid;
	private String name;

	public long getSid() {
		return sid;
	}
	public void setSid(long sid) {
		this.sid = sid;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}

  这种Entity的写法会在不同场合报不同的错误,本文仅列出这一种情况,后续遇到再补充。

  共勉!

 

Edit by Jimmy

2014.09.18

 

转载于:https://www.cnblogs.com/jimmy-c/p/3978799.html

网站文章

  • Black Hat Europe 2021议题解读:Wi-Fi Mesh中的安全攻击面

    Black Hat Europe 2021议题解读:Wi-Fi Mesh中的安全攻击面

    近年来,随着万物互联技术的发展,Mesh技术逐渐兴起,Mesh技术是一种组网技术,可将多个接入点组成同一个网络来提供服务,相比于传统的WiFi组网技术,Mesh组网更稳定,更快,扩展性更强...

    2024-04-01 06:56:02
  • JAVA大数类 BigInteger和BigDecimal用法

    BigInteger四则运算 import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { BigInteger num1, num2; Scanner in = new Scanner(S

    2024-04-01 06:55:55
  • 基于ARMA差分还原的客流量时间序列预测 完整代码数据

    基于ARMA差分还原的客流量时间序列预测 完整代码数据

    基于ARMA差分还原的客流量时间序列预测 完整代码数据

    2024-04-01 06:55:47
  • vuex 模块化

    vuex 模块化

    一般当项目比较大时,如果vuex 的modules模块过多,此时需要用到模块化来管理仓库。如果在index里引入modules中所有的文件,需在index.js中配置以下。比如在addController.js中定义一个变量。页面中通过getter取state属性。在getters.js中获取该属性。页面中存state属性。

    2024-04-01 06:55:08
  • tar打包命令(linux)

    1.打包命令: tar -cvf 归档路径 被打包文件路径。 (c--create archive v-verbose f --file ,f指归档路径,故f必须放在其他选项之后,而且-可省略不写) ...

    2024-04-01 06:55:02
  • 零基础怎么入门人工智能?

    零基础怎么入门人工智能?

    免费分享一些我整理的人工智能学习资料给大家,整理了很久,非常全面。包括一些人工智能基础入门视频+AI常用框架实战视频、图像识别、OpenCV、NLQ、YOLO、机器学习、pytorch、计算机视觉、深...

    2024-04-01 06:54:56
  • git的分支管理策略

    分支在实际中的作用假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的

    2024-04-01 06:54:50
  • Python快速上手学习笔记

    该笔记适用于想快速的上手Python,用于临时开发工作的同志们o(* ̄▽ ̄*)ブ。

    2024-04-01 06:54:09
  • 几种给对象属性赋值复制操作

    几种给对象属性赋值复制操作 效率:因为Orika的设计思路是预先通过javaassist把JavaBean之间的映射关系一次性生成目标拷贝方法代码。 这样就可以避免在Bean 映射环节一次次的读取映射规则。 从而实现效率上的提高...

    2024-04-01 06:54:02
  • 【NI-DAQmx入门】NI-DAQmx之C、C++、VB、VB.net与C#支持

    net路径(不需要安装Measurement Studio, .NET API 是NI-DAQmx驱动程序的一部分,measurement Studio只是一个集成代码工具)示例:Users\Publ...

    2024-04-01 06:53:53