json无法解析Unrecognized token:was expecting (‘true’, ‘false’ or ‘null’)

fasterxml: Unrecognized token ‘open’: was expecting (‘true’, ‘false’ or ‘null’)

  • 代码片段
    public class JsonUtil {
        
        private static final ObjectMapper MAPPER = new ObjectMapper();
    
        public static void main(String[] args) throws Exception {
    
        String s = "testjson";
    
        String s1 = MAPPER.readValue(s, String.class);
    
        System.out.println(s1);
    }
    
    }

     

  • exception
    Exception in thread "main" com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'testjson': was expecting ('true', 'false' or 'null')
     at [Source: java.io.StringReader@117c323d; line: 1, column: 9]

     

  • 错误原因 
    fasterxml无法对这个字符串进行判断,它的处理逻辑应该是先判断这个字符串是否是boolean,因为这个字符串并不是用双引号引起来的字符串。
  • 解决办法 
    String s = “testjson”;应改为String s = "\"testjson\"";,此时才可被fasterxml正确理解。

你可能感兴趣的:(java知识)