小编J. *_*mbo的帖子

Jackson ObjectMapper 以“/”字符作为 JSON 键

JSON 设置 (my-file.json):

 { ":x.y\/a" : "some value" }
Run Code Online (Sandbox Code Playgroud)

对象映射器:

ObjectMapper om = new ObjectMapper();
om.configure( JsonParser.Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER, true );
Map value = om.readValue( getClass().getResource( "/my-file.json" ).getFile() , HashMap.class );
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用 JsonParser.Feature.ALLOW_COMMENTS(这没有意义,但我想到底是什么)。但是,无论我如何尝试配置它,我似乎都可以将 JSON 读入 Map。

例外

com.fasterxml.jackson.core.JsonParseException: Unexpected character ('/' (code 47)): maybe a (non-standard) comment? (not recognized as one since Feature 'ALLOW_COMMENTS' not enabled for parser)
at [Source: java.io.StringReader@31c74456; line: 1, column: 2]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1524)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:557)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:475)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._skipComment(ReaderBasedJsonParser.java:1725)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._skipWSOrEnd(ReaderBasedJsonParser.java:1708)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:562)
at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:2926)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2873)
at …
Run Code Online (Sandbox Code Playgroud)

java json jackson deserialization

2
推荐指数
1
解决办法
8905
查看次数

标签 统计

deserialization ×1

jackson ×1

java ×1

json ×1