JSON parse error: Unexpected end-of-input: … PushbackInputStream … JsonEOFException

  • 2019 年 10 月 4 日
  • 笔记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/qwdafedv/article/details/100598601

错误异常信息:

JSON parse error: Unexpected end-of-input: expected close marker for Object (start marker at [Source: (PushbackInputStream); line: 1, column: 1]); nested exception is com.fasterxml.jackson.core.io.JsonEOFException: Unexpected end-of-input: expected close marker for Object (start marker at [Source: (PushbackInputStream); line: 1, column: 1])n at [Source: (PushbackInputStream); line: 1, column: 3]


错误定位:

这是一个json不完整,格式异常的错误信息。排查步骤:

1.判断body中的json格式是否正确,可以使用 http://www.bejson.com/jsoneditoronline/ 进行格式校验,其实postman也可以校验,如果不正确,会自动提示。

2.如果json格式是正确的,再次查看请求头中是否包含Content-Length,如果包含的话,可能就是这个值有问题,把这个Content-Length从请求头中删除掉。

我这里是第二个,因为请求头是抓包中拷贝的,但是我在postman中调试的时候,改变了body中的值,导致Content-Length变化了,但是请求头中的Content-Length并没有变化,故而报此错误。如果body中的长度大于Content-Length将会截取body导致json格式异常;如果body中的长度小于Content-Length将会导致请求超时。所以,请求头中去掉就好了,它会自动添加。

Good Luck.