我正在阅读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版本。我该如何抓住这些功能?
答案 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 Pointer,JSON Patch和JSON Merge。