2013-04-26 166 views
4

我正在製作一個java程序,我正在尋找一種方法來檢查是否有可用的新版本,我在parse.com上創建了一個帳戶。
API:CLICK
我完全在java上工作,我有點新,所以保持簡單。
我已經創建了一個具有版本號的類,如果版本是beta版本,現在我需要一種方法將這兩個值轉換爲int和布爾值,然後執行其餘的處理過程。 我如何從parse.com類取值?從遠程網站讀取JSON文件

回答

6

在最簡單的方式,你可以使用現有的庫在json.org爲Java(下載here),並使用類似的代碼:

URL url = new URL("http://my.domain.com/data.json"); 
JSONTokener tokener = new JSONTokener(url.openStream()); 
JSONObject root = new JSONObject(tokener); 

不過,當然你可以使用它提供了一下一些其他圖書館更多的靈活性,如GsonJackson

gson和jackson的小樣本可以分別找到herehere

對於您可以使用類似於基本身份驗證:))

Authenticator.setDefault(新版身份({ 保護的PasswordAuthentication的getPasswordAuthentication({ 返回新的PasswordAuthentication( 「USR」, 「通」 .toCharArray()) ; } });

有關的東西heredocumentation

另外,HTTPClient是一個很好的HTTP庫相關的東西,請檢查它here如果你願意。


如果你使用Maven,您可以添加以下依賴於json.org:

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

GSON:

<dependency> 
    <groupId>com.google.code.gson</groupId> 
    <artifactId>gson</artifactId> 
    <version>2.2.2</version> 
</dependency> 

傑克遜(主版本1,但2已經可在網站查詢):

<dependency> 
    <groupId>org.codehaus.jackson</groupId> 
    <artifactId>jackson-core-asl</artifactId> 
    <version>1.9.12</version> 
</dependency> 

對於HTTP客戶端版本4:

<dependency> 
    <groupId>org.apache.httpcomponents</groupId> 
    <artifactId>httpclient</artifactId> 
    <version>4.2.4</version> 
</dependency> 
+0

對於gson爲+1,對傑克遜爲+1,對於json.org爲-1。淨+1。幸運的你! – digitaljoel 2013-04-26 20:42:36

+0

我不斷收到java.io.IOException:服務器返回的HTTP響應代碼:401 for URL:https://api.parse.com/1/classes/NicksNoteVersion/xngGDAa1k3 有什麼想法? – user36976 2013-04-27 06:13:49

+0

是的,這是由於您需要提供的基本身份驗證,請查看我的最新評論。 – 2013-04-27 07:41:28

0

您可以使用標準Java API進行http請求。 Check here

您可以使用gson庫來解析響應。 Check here