2014-12-08 46 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