Java:从JSON文件中读取原始JSON对象字符串

时间:2016-07-29 00:53:07

标签: java json jackson

我想从Java中的JSON文件中读取一个JSON对象,作为一个没有任何处理的字符串。问题是在JSON文件中,对象不在一行上。 (否则用scanner.nextLine()读它们会很容易。另外,在程序中我需要根据它们的ID读取对象,ID是对象键之一。

如果我将它们映射到相应的POJO,稍后将其转换为JSON字符串,我将最终得到特定对象中不存在的属性的默认值和键值对会出现在我不想要的字符串中。我只需要原始字符串。

关于我可以采用的方法的任何建议?

提前致谢!

1 个答案:

答案 0 :(得分:0)

假设您的问题与您的句子中所述相同:

  

问题是在JSON文件中,对象不在一行

有一种方法可以使用Scanner

将整个文件作为单个字符串读取
String contents = scanner.useDelimiter("\\Z").next();

模式\Z表示“输入结束”,因此整个InputStream被读到最后。

要删除换行符,请用空格替换它们,这样就可以解析一行:

String contents = scanner.useDelimiter("\\Z").next().replaceAll("\\R+", " ");