2014-12-08 43 views
42

我的应用程序需要一些简单的JSON解析,并且Douglas Crockford library看起来正是我所需要的。如何在Java 7中使用org.json Java库

但是,我似乎遇到了一个问题。我收到以下错误:

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/json/JSONObject : Unsupported major.minor version 52.0

我张望了一下google搜索,我得到的印象,这是由于某些版本不兼容。我试过改变Java版本,但似乎没有帮助。我在我的程序中使用Java 7和Java 7功能,最终我想使用Java 7.

如何解决此问题? PS:我看着杰克逊和GSON,绝对不想使用任何一种,所以请不要建议作为替代方案。

+4

'不支持MAJOR.MINOR版本52.0'表明,该库是在Java的编译8.你能得到的[来源](https://github.com/douglascrockford/JSON-java)并重新编译库为你的版本? – 2014-12-08 06:44:13

+4

这是可行的,但有点'使用包管理器的点... – chaqke 2015-02-18 00:19:17

回答

67

您是否尝试过使用旧版本的软件包?

尝试:http://mvnrepository.com/artifact/org.json/json/20140107

+3

只是试图这个,似乎工作。这是一个耻辱,即使我无法确定,但我不认为该库“需要”Java 8,因此编译它为Java 8似乎是非常不必要的。 – Luke 2014-12-08 08:31:23

+0

@Luke MichaelT说,如果你真的想使用最新版本,你可以自己编译源代码 – 2014-12-08 08:35:09

+2

是的。理解,但我更喜欢通过依赖管理器(如Maven)管理依赖关系。 – Luke 2014-12-08 22:45:38

2

由于您正在使用JDK1.7,换到旧版本将工作!

<groupId>org.json</groupId> 
    <artifactId>json</artifactId> 
    <version>20140107</version> 
</dependency> 
+0

我在哪里添加这个? – 2016-11-23 21:44:18