2013-04-26 123 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