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

  在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

时间: 2024-10-10 15:06:40

自己挖坑自己跳 之JsonMappingException: (was java.lang.NullPointerException) (through reference chain:)的相关文章

JsonMappingException: (was java.lang.NullPointerException)

使用jackson 序列化java对象的时候报异常: com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: com.chanjet.gov.Student["age"]) at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(Js

空指针错误 java.lang.NullPointerException

使用基本的JAVA数据类型,变量的值要么已经是默认值,如果没有对其正常赋值,程序便 不能通过编译,因此使用基本的JAVA数据类型(double,float,boolean,char,int,long)一般不会引起空指针异常.由此 可见,空指针异常主要跟与对象的操作相关. 下面先列出了可能发生空指针异常的几种情况及相应解决方案: 不管对象是否为空就直接开始使用. (JSP)代码段1: out.println(request.getParameter("username")); 描述: 代

Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException

转自:https://www.jb51.net/article/98644.htm Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException解决办法: 利用Java操作XML,在操作XML过程中,执行到最后一步,在利用Transformer进行XML转换时出现NullPointerException错误,出问题的部分代码如下: ? 1 2 3 4 5 6 7 8 9 10 //转换

java.lang.NullPointerException Ignoring exception during close for [email protected]

1.问题描述:在调试mapreduce辅助排序(二次排序)的过程中,运行程序总是报错 Ignoring exception during close for [email protected]java.lang.NullPointerException at org.apache.hadoop.io.WritableComparator.compare(WritableComparator.java:157) at org.apache.hadoop.mapred.MapTask$MapOutp

在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法

今天遇到了一个在servlet的service方法中获取ServletContext对象出现java.lang.NullPointerException(空指针)异常,代码如下: 1 //获取ServletContext对象 2 ServletContext servletContext = this.getServletContext(); 这个问题很奇怪,也是第一次遇到,因为以前在servlet的doGet/doPost方法中要获取ServletContext对象时都是这样写的,也没有出现过

解决kylin build cube第一步报错:java.lang.NullPointerException

报错栈: 2017-06-19 10:27:35,757 ERROR [pool-9-thread-4] threadpool.DefaultScheduler:140 : ExecuteException job:933bc47a-302c-48fa-8ec9-ae8730057175 org.apache.kylin.job.exception.ExecuteException: org.apache.kylin.job.exception.ExecuteException: java.la

?--Porg.springframework.beans.MethodInvocationException: Property 'username' threw exception; nested exception is java.lang.NullPointerException

使用BoneCP作为连接池,在启动Tomcat报出以下异常: 一月 02, 2016 2:12:17 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:mynewdpi' did not find a

百度地图定位 java.lang.NullPointerException

整了四五天显示的地图终于不是北京了,心酸泪一把T~T. java.lang.NullPointerException 是空指针异常,问候了度娘,又看了几遍自己的代码都没觉得有异常, 突发奇想的改了改代码竟然成了..... (下面是改完后的代码) 1 public class Local_MainActivity extends Activity { 2 private MapView mapView; 3 private BaiduMap baiduMap; 4 private Location

一般报java.lang.NullPointerException的原因有以下几种

一般报java.lang.NullPointerException的原因有以下几种: ·字符串变量未初始化: ·接口类型的对象没有用具体的类初始化,比如: List lt; 会报错 List lt = new ArrayList(); 则不会报错了 ·当一个对象的值为空时,你没有判断为空的情况. 你可以试着把下面的代码前加一行代码: if(rb!=null); ................... String类型的对象可以做如下判断 if(rb!==null&&!""