我有一个要由Jackson ObjectMapper
private static ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
...
Foo foo1 = objectMapper.readValue(file, Foo.class);
该JSON文件有效(使用了棉绒检查器)。 json文件名看起来像:
foo_(baz)_qux_-bar-quuz-corg-thud.json
堆栈跟踪如下:
com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'b0VIM': was expecting ('true', 'false' or 'null')
at [Source: .../.foo_(baz)_qux_-bar-quuz-corg-thud.json.swp; line: 1, column: 7]
[testng] at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1702)
...
为什么说交换文件中的令牌有问题?并且字符串b0VIM
不在.json文件中的任何位置。可以将“(”扔掉吗?
我可能会缺少什么?
谢谢!
答案 0 :(得分:1)
您正在尝试反序列化 VIM交换文件。
通常,这些临时文件以b0VIM
(docs)开头,其中包含有关您在VIM编辑器中更改的内容的元数据。
交换文件的扩展名为.swp
,实际上文件名为
foo_(baz)_qux_-bar-quuz-corg-thud.json.swp
交换文件不包含有效的JSON。