我正在使用Twitter API,并希望解析来自user_timeline GET调用的json响应。 您可以找到此类通话的示例here。
为此,我正在使用杰克逊:
URL url = new File("D:\\01_perso\\like-minded-friends\\test\\resources\\\\tweet_sample.json").toURI().toURL();
ObjectMapper om = new ObjectMapper();
//om.configure(JsonParser.Feature.ALLOW_COMMENTS, true);
JsonNode node = om.readTree(url);
System.out.print(node.path("id").asLong());
问题是解析失败并出现以下错误:
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: file:/D:/01_perso/like-minded-friends/test/resources/tweet_sample.json; line: 98, column: 26]
错误来自于JSON包含一些HTML href,并且它们包含斜杠。
"source": "<a href="//sites.google.com/site/yorufukurou/\"" rel="\"nofollow\"">YoruFukurou</a>",
我正在寻找让杰克逊忽略这些角色的方法。
正如您在上面所看到的,我尝试使用 ALLOW_COMMENTS 功能,但它不起作用,因为html随后被视为注释,并最终吃掉最后一个逗号json,导致另一个错误。
有没有办法告诉杰克逊只是接受那些HTML行,或者至少忽略它们? (我实际上并不需要它们,因此可以简单地跳过源元素。)
由于