Java JsonMappingException,即使检查空值也是如此
在对传递给ObjectMapper Json解析器方法的字符串执行null和空检查时,我遇到了一个异常。这是我的代码:Java JsonMappingException,即使检查空值也是如此,java,json,Java,Json,在对传递给ObjectMapper Json解析器方法的字符串执行null和空检查时,我遇到了一个异常。这是我的代码: private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); @RequestMapping(value = "/url", method = RequestMethod.GET) public ModelAndView displayStuff( @RequestP
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
@RequestMapping(value = "/url", method = RequestMethod.GET)
public ModelAndView displayStuff(
@RequestParam(value = "item") int itemCode) throws JsonProcessingException, IOException {
if (!text.equals("") || text != null) {
JsonNode jsonThresholds = OBJECT_MAPPER.readTree(text);
do stuff()..
}else {
do nothing();
}
}
我得到一个例外:
com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input
at [Source: java.io.StringReader@182d2fd7; line: 1, column: 1]
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164)
at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:2840)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2782)
at com.fasterxml.jackson.databind.ObjectMapper.readTree(ObjectMapper.java:1659)
有人能给我解释一下发生了什么事以及我如何解决这个问题吗
谢谢你的改变
!text.equals("") || text != null
到
因为即使是
text=”“
然后text!=null
变为真并进入if的内部
您应该首先检查null或not,因为如果值为null。equals将给出nullpointer异常
这也是错误的
!text.equals("") && text != null
↑
null pointer Exception can be occurred here
请显示json字符串。类似以下内容:{“happy”:3,“sad”:4,“ok”:5}将其更改为!text.equals(“”&&text!=null可能有效..也许
text.trim().equals(“”
),为了去掉空空格谢谢,它适用于空字符串,但是如果没有字符串,我仍然会得到一个null指针异常。为什么会这样?obj.toString().equals(“{}”);在这种情况下,这可能就是你要寻找的。@LiluPatelOBJECT\u MAPPER
isnull
then@LiluPatel检查我的更新答案。实际上你应该交换空检查和空检查。首先你应该检查空或不空
!text.equals("") && text != null
↑
null pointer Exception can be occurred here