从远程网站读取JSON文件

时间:2013-04-26 19:51:59

标签: java json

我正在制作一个java程序,我正在寻找一种方法来检查是否有新版本可用我在parse.com上创建了一个帐户。
API:CLICK
我完全在java上工作,我有点新,所以保持简单。
我已经创建了一个具有版本号的类,如果版本是beta,我现在需要一种方法将这两个值转换为int和boolean并执行其余的处理。 我如何从parse.com类中获取值?

2 个答案:

答案 0 :(得分: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(new Authenticator(){     protected PasswordAuthentication getPasswordAuthentication(){         返回新的PasswordAuthentication(“usr”,“pass”.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>

答案 1 :(得分:0)

您可以使用标准Java API发出http请求。 Check here

您可以使用gson库解析响应。 Check here