fasterxml: Unrecognized token '***': was expecting ('true', 'false' or 'null')

2541 ワード

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

  • コードフラグメント
  • public class Test {
        static final ObjectMapper ObjMpr = new ObjectMapper();
    
        public static void main(String[] args) throws Exception {
            String s = "open";
            String s1 = ObjMpr.readValue(s, String.class);
            System.out.println(s1);
        }
    }
  • exception
  • Exception in thread "main" com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'open': was expecting ('true', 'false' or 'null') at [Source: java.io.StringReader@117c323d; line: 1, column: 9]
  • エラーの原因fasterxmlはこの文字列を判断できません.その処理ロジックは、この文字列がbooleanであるかどうかを先に判断するべきです.この文字列は二重引用符で引き起こされた文字列ではないからです.
  • 解決策String s="open";String s = "\"open\"";に変更する必要があります.この場合、fasterxmlによって正しく理解されます.