如何将json文件的路径作为输入传递给解析器gson库

时间:2014-09-19 01:24:27

标签: java json parsing path gson

我想使用google的gson库读取json文件进行解析和阅读。

我的*.json文件位于src/main/resources

所以我目前有这个代码:

JsonElement jElement = new JsonParser().parse(PUT_FILE_PATH_HERE);

PUT_FILE_PATH_HERE在我的情况下会是什么?我在Mac上。

1 个答案:

答案 0 :(得分:1)

首先,您必须了解/src/main/resources中的文件不应被视为具有文件路径的资源。 Maven将为您的构建生成一个包,其中这些文件最终应该在运行时类路径上。它们可能位于.jar中,可能位于物理文件系统中,等等。

要访问类路径上的资源,请使用ClassLoader#getResource(String)Class#getResource(String)(或getResourceAsStream(String))。

在这种情况下,您可以使用

InputStream in = YourClass.class.getResourceAsStream("/yourfile.json");

获得InputStream。然后,您可以使用InputStreamReader创建InputStream并将其传递给JsonParser#parse(Reader)方法。