浏览文档和源代码后,我看不到执行此操作的明确方法。很好奇我是否想念一些东西。
假设我从服务器响应中收到一个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/