首页 > 解决方案 > 放心的代码不允许使用 println

问题描述

我正在尝试自动化 twitter API。当尝试使用打印“js.get("text")

System.out.println(js.get("text")); 我收到错误,因为“方法 println(boolean) 对于 PrintStream 类型不明确”

我下载了 jars 并传入了构建路径以及“scribejava-apis-2.5.3”和“scribejava-core-4.2.0”

下面的代码不允许我将 println 用于 ------>js.get("text")


公共类 Basicfunc {

String Consumerkeys= "**************";
String Consumersecretkeys="*******************";
String Token="*******************";
String Tokensecret="***************************";


@Test
public void getLatestTweet(){

    RestAssured.baseURI = "https://api.twitter.com/1.1/statuses";
    Response res = given().auth().oauth(Consumerkeys, Consumersecretkeys, Token, Tokensecret).
    queryParam("count","1").
    when().get("/home_timeline.json").then().extract().response();


    String response = res.asString();
    System.out.println(response);
    JsonPath js = new JsonPath(response);
    System.out.println(js.get("text")); 
}

}

标签: javarest-assuredrest-assured-jsonpath

解决方案


使用System.out.println(js.getString("text"));代替System.out.println(js.get("text"));,因为get 返回任何原始值

我认为您的问题是您的twitter 响应实际上是一个 list

尝试使用System.out.println(js.getList()[0].get("text"));并注意您只使用第一个[0]条目而忽略其余条目。


推荐阅读