【发布时间】:2016-10-16 17:31:51
【问题描述】:
我有一个提供 JSON 响应的 curl 命令。我想在 java 中使用这个 curl 命令并在 java 中解析 JSON 响应。有可能吗?
下面的Java代码:
public static void main(String[] args) throws Throwable {
try {
InputStream stream = Runtime.getRuntime().exec("curl --globoff --insecure --silent -u username:password -X GET -H 'Content-Type: application/json' \"http://ficcjira.xyz.com/rest/api/2/search?jql=project=ABC&fields=Timetracking\"").getInputStream();
BufferedReader input = new BufferedReader(new InputStreamReader(stream), 1);
input.readLine();
input.read();
input.read();
DataReader reader = new JsonReader(input)
.addField("TimeSpent", "//array/object/timespent")
.addRecordBreak("//array/object");
/*reader = new TransformingReader(reader)
.add(new BasicFieldTransformer("TimeSpent").stringToDouble());*/
DataWriter writer = new StreamWriter(System.out);
JobTemplate.DEFAULT.transfer(reader, writer);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
我收到以下错误:
Cannot run program "curl": CreateProcess error=2, The system cannot find the file specified
【问题讨论】:
-
检查这个答案是否可以帮助stackoverflow.com/a/36479644/1997376
-
@NicolasFilotto 我认为它不适合我。我只想在eclipse控制台中显示curl响应,然后解析响应。
-
为什么它不起作用?从 Java 程序启动 curl 将使您的程序操作系统变得毫无意义,因为它可以在 java 中轻松完成
-
这只是我正在开发的一个 Windows 桌面应用程序,所以我不介意。
-
可能你没有安装
curl,或者可能不在PATH中(如果你在PATH中添加了元素最好重启系统以确保你是会用)