2012-05-01 49 views
8

我想知道爲什麼www.json.org/anyone還沒有提供官方的org.json JAR包供下載?我發現有人詢問他們可以在哪裏下載JAR,結果會回覆剛剛列出源文件的頁面。org.json JAR provisioning

期待大家下載每個源文件並自己準備JAR文件似乎有點麻煩。

回答

14

您是否考慮過使用Maven?舉例來說,如果你想要一個JAR到收杆JSON你可以只包括...

http://mvnrepository.com/artifact/org.codehaus.jackson/jackson-core-asl/1.9.6

<dependency> 
    <groupId>org.codehaus.jackson</groupId> 
    <artifactId>jackson-core-asl</artifactId> 
    <version>1.9.6</version> 
</dependency> 
在一個pom.xml

,這會給你的JSON的罐子。

或者更好的是,使用org.json一個...

http://mvnrepository.com/artifact/org.json/json

<dependency> 
    <groupId>org.json</groupId> 
    <artifactId>json</artifactId> 
    <version>20090211</version> 
</dependency> 
+4

只是一個快速的警告...... org.json的版本是在Maven回購可用的是老得多,目前的版本在GitHub上https://開頭github.com/douglascrockford/JSON-java。我對maven發行版有一些問題,我認爲這些bug是修復的,因爲使用最新版本直接解決了我的問題。 –

+0

這裏的糟糕解決方案是去Crockford的JSON java實現,分叉它,並創建一個jar。我這樣做了,它也是一個maven項目,所以你可以將它安裝到你的repo中,或者只需創建一個jar就可以了。 https://github.com/anatolyg/JSON-java –

+0

版本20131018也在爲那些想知道的mvn存儲庫中。 – Johncl

1

實現從json.org克羅克福德沒有任何問題。幸運的是,自由幾乎直接替代存在(顯然,谷歌的代碼由別人Maven的中央包裝):

<dependency> 
    <groupId>com.vaadin.external.google</groupId> 
    <artifactId>android-json</artifactId> 
    <version>0.0.20131108.vaadin1</version> 
</dependency> 

pom.xml加入的,而不是使用json.org之一。我們只需要對代碼做一些小的修改:vaadin可以在更多地方拋出JSONException,所以我們必須捕獲它們或將它們傳遞給調用者(擴展拋出聲明)。

+1

我也將其打包到Maven並進行了一些更改以使其更容易移植到。值得注意的是,JSONException現在是未選中的。請參閱https://github.com/tdunning/open-json(也可通過maven獲得) –

0

使用com.tdunnning包可能導致依賴衝突,特別是如果您將項目作爲庫提供給其他人時。該實現與org.json沒有100%的兼容性

該程序包(com.tdunning)已分叉爲https://github.com/openjson/openjson,程序包已重命名爲com.github.openjson而不是org.json以防止發生衝突。

Maven的依賴關係:

<dependency> 
    <groupId>com.github.openjson</groupId> 
    <artifactId>openjson</artifactId> 
    <version>1.0.10</version> 
</dependency>