通过Rest调用在我的Java类中获取JSON结果

时间:2013-02-01 10:21:27

标签: java json rest jira-rest-java-api

我有一个javascript,我通过它调用rest api并获得JSON结果,我需要在java类中使用此结果。

以下是脚本

<script type="text/javascript">
function getCurrentTime()
{
var time;
     AJS.$.ajax({
        url: "/rest/vertygosla/1.0/compute/issue/TST-30",
        type: 'get',
        dataType: 'json',
        async: false,
        success: function(data) {
            time = data.sla;
        } 
     });
     return time[0].remainingTime;
}

alert(""+getCurrentTime())
</script>

json由服务器提供 {“issueKey”:“TST-30”,“issueId”:11600,“created”:“2013-01-31T11:38:38.765 + 0530”,“sla”:[{“agreementName”:“ack times”, “REMAININGTIME”:5860985, “结束日期”: “2013-01-31T12:00:57.796 + 0530”, “的startDate”: “2013-01-31T11:38:38.781 + 0530”, “consumedTime”:1339015,“名称“:”Ack time“,”id“:11000,”延迟“:false,”关闭“:true,”冻结“:false}]}

有人可以在JAVA中为我提供类似的例子。

由于

2 个答案:

答案 0 :(得分:1)

如果你想在Java中使用json结果,那么你应该使用JRJC,它是专门用于使用JIRA REST API访问Java的客户端。否则,您可以在HTTP中发送Java请求以从网址获取JSON。

编辑:您可以HTTP或任何其他语言发送Java个请求。我更喜欢jqueryjavascript,因为您不必实施登录过程。如果您已登录jira,则无需实施登录即可直接获取JSON结果。 JRJC客户端真的很慢。

以下是从JSON JIRA jquery获取$.getJSON('https://jira.atlassian.com/rest/api/latest/search?jql=assignee=xyz&expand&jsonp-callback=?', function(data) { console.log(data); }); }); 的方式:

{{1}}

答案 1 :(得分:0)

您可以在java中使用RestTemplate进行Rest调用,然后使用JSONObject将JSON结果检索为java对象。

以下是一个例子:

RestTemplate restTemplate = new RestTemplate();
try {
    String jsonResult = restTemplate.getForObject(url, String.class);
    JSONObject jsonObject = (JSONObject)new JSONParser().parse(jsonResult);
} catch (Exception e) {
    e.printStackTrace();
}