2014-12-08 20 views
42

Tôi cần một số phân tích JSON đơn giản trong ứng dụng của mình và Douglas Crockford library có vẻ chính xác những gì tôi cần.Cách sử dụng thư viện Java org.json với Java 7

Tuy nhiên, có vẻ như tôi đang gặp sự cố. Tôi nhận được lỗi sau:

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

Tôi đã google xung quanh một chút và tôi có ấn tượng rằng điều này là do một số phiên bản không tương thích. Tôi đã thử thay đổi các phiên bản Java nhưng nó dường như không giúp ích gì. Tôi đang sử dụng các tính năng Java 7 và Java 7 trong chương trình của mình và cuối cùng tôi muốn sử dụng Java 7.

Làm cách nào để giải quyết vấn đề này?

PS: Tôi đã xem Jackson và GSON và chắc chắn không muốn sử dụng vì vậy, vui lòng không đề xuất thay thế.

+4

'Phiên bản chính không được hỗ trợ.minor 52.0' cho biết thư viện đó được biên dịch bằng Java 8. Bạn có thể lấy [source] (https://github.com/douglascrockford/JSON-java) và biên dịch lại thư viện cho phiên bản của bạn? –

+4

đó là có thể, nhưng kinda 'đi xung quanh điểm của việc sử dụng một người quản lý gói ... – chaqke

Trả lời

67

Bạn đã thử sử dụng phiên bản cũ của gói chưa?

Hãy thử: http://mvnrepository.com/artifact/org.json/json/20140107

+3

Chỉ cần cố gắng này và có vẻ làm việc. Đó là một sự xấu hổ, mặc dù tôi không thể nói chắc chắn, tôi không nghĩ rằng thư viện "cần" Java 8, do đó, biên dịch nó cho Java 8 có vẻ khá không cần thiết. – Luke

+0

@Luke Cũng như MichaelT đã nói, nếu bạn thực sự muốn sử dụng phiên bản mới nhất, bạn có thể tự biên dịch các nguồn –

+2

Đúng. Đã hiểu, nhưng tôi thích quản lý các phụ thuộc thông qua trình quản lý phụ thuộc (chẳng hạn như Maven). – Luke

2

Kể từ khi bạn đang sử dụng JDK1.7, hãy đổi sang phiên bản cũ hơn sẽ làm việc!

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

tôi có thể thêm điều này ở đâu? –