浏览文档和源代码后,我看不到执行此操作的明确方法。很好奇我是否想念一些东西。

假设我从服务器响应中收到一个InputStream。我从此InputStream创建一个JsonParser。预期服务器响应是包含有效JSON的文本,例如:
{"iamValidJson":"yay"}
但是,如果响应最终是无效的JSON或根本不是JSON,例如:
Some text that is not JSON
JsonParser最终将引发异常。在这种情况下,我希望能够从JsonParser中提取底层的无效文本“Some text that is not JSON”,以便将其用于其他目的。

我不能将其从InputStream中拉出来,因为它不支持重置,并且JsonParser的创建会消耗掉它。

有没有办法做到这一点?

最佳答案

如果您拥有JsonParser,则可以使用jsonParser.readValueAsTree().toString()

但是,这可能需要解析的JSON确实是有效的JSON。

关于java - 如何从JsonParser(Jackson Json)获取基础字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16825880/

10-13 06:52