使用Unirest获取请求以获取JSON流

时间:2017-09-01 13:41:54

标签: java json unirest

我正在尝试建立此GET请求:

 http://api.bitcoincharts.com/v1/trades.csv?symbol=krakenUSD&start=1303100000

当我使用邮递员这样做时,它完美地运作。但是,当我使用HttpRequest执行此操作时,请求的主体将作为空对象返回。

            HttpRequest r = Unirest.get("http://api.bitcoincharts.com/v1/trades.csv").queryString("symbol", "krakenUSD").queryString("start", "1303100000");
            System.out.println(r.getUrl());
            System.out.println(r.getBody().toString());

我在:

得到一个空指针错误
 System.out.println(r.getBody().toString());

提交此GET请求的正确方法是什么?我不确定queryString()是否应该使用?

1 个答案:

答案 0 :(得分:0)

首先,您提出的请求可能不会返回JSON。查看端点URL:

  

http://api.bitcoincharts.com/v1/trades.csv

很可能会返回CSV,而不是JSON。

如果内容类型是'application / json'或者URL是* .json,则必须调用.asJson方法:

Unirest.post(URL)
  .queryString("symbol", "krakenUSD")
  .queryString("start", "1303100000")
  .asJson()

参考:http://unirest.io/java.html