如何在Java项目中使用Java EE API?

时间:2013-09-23 01:16:14

标签: java json java-ee

我正在阅读ths site.中指定的Json Processing Java API但是,当我尝试测试这样的代码时:

JsonReader reader = Json.createReader(new FileInputStream(...));

我不能,因为JsonReader类或Json类无法从任何地方导入。我只获得了从JsonParser导入的一些sun.org.mozilla.javascript.internal.json.JsonParser类,但显然它不是我想要的。

我安装了Java EE,而且我正在使用Netbeans的Java EE版本。我该如何抓住这些功能?

3 个答案:

答案 0 :(得分:2)

以下是JSR-000353

参考实现jar的下载页面

https://java.net/projects/jsonp/downloads/directory/ri

如果您使用的是JSON,我推荐使用Jackson JSON库。

http://wiki.fasterxml.com/JacksonHome

可以在此处找到jar文件:

http://wiki.fasterxml.com/JacksonDownload

有关实施差异的更多信息,请参阅此问题 Differentiating the Jersey, Jackson, and JaxB APIs

答案 1 :(得分:1)

JSR 353与Java EE 7平台一起发布。 JsonObject和JsonReader API可以以两种不同的方式使用:

  • 使用符合Java EE 7的应用程序服务器,例如GlassFish 4。在这种情况下,API内置于运行时,将为您正确解析。您可以使用NetBeans,Eclipse或IntelliJ,如果服务器运行时配置正确,那么它就可以正常工作。

  • 或者,您可以从http://jcp.org/aboutJava/communityprocess/final/jsr353/index.html下载参考实施,并与您选择的应用程序或容器集成。

https://github.com/arun-gupta/javaee7-samples/tree/master/json提供了一组使用此API的示例。

答案 2 :(得分:-1)

要在Maven项目中使用JSON Processing,您可以使用以下Maven坐标:

    <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.json</artifactId>
        <version>1.1</version>
        <scope>provided</scope>
    </dependency>

或者包括所有Java EE 8添加以下坐标:

    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>1.8</version>
        <scope>provided</scope>
    </dependency>

JSON Processing 1.1包括新的JSON PointerJSON PatchJSON Merge