-2

我正在尝试从我的 javascript 中的 REST 调用返回的 json 结果中获取值。下面是 REST 的 JSON 结果

{
    "self": "http://example.com/rest/api/2/project/MTS/role/10002",
    "name": "Administrators",
    "id": 10002,
    "description": "A project role that represents administrators in a project",
    "actors": [{
        "id": 10803,
        "displayName": "Administrator ",
        "type": "atlassian-user-role-actor",
        "name": "admin",
        "avatarUrl": "/secure/useravatar?size=small&avatarId=10108"
    }, {
        "id": 10590,
        "displayName": "jira-administrators",
        "type": "atlassian-group-role-actor",
        "name": "jira-administrators",
        "avatarUrl": "/secure/useravatar?size=small&avatarId=10123"
    }]
}

从这个结果中,我只需要获取所有演员的名字可以有人帮我下面的脚本吗

function getName()
{
var user;
     $.ajax({
        url: "/rest/api/2/project/MITS/role/10002",
        type: 'get',
        dataType: 'json',
        async: false,
        success: function(data) {
            user = data;
       } 
     });
     return user;
}

上面的脚本不正确请帮忙

4

2 回答 2

2

在成功函数中,使用这个

users = []; // you will store the names here
$.each(data.actors, function(i,actor){
    if(actor.type === "atlassian-user-role-actor"){
        users.push(actor.name);
    }
})

在用户中,您将获得演员姓名

如果需要,请将您的 JSON 复制粘贴到http://www.jsoneditoronline.org/,您将清楚地看到“数据”对象有什么以及如何访问它。

于 2013-06-21T05:55:59.830 回答
1

您可以通过像这样访问它来获取演员数组data.actors

$.each然后使用 a或 a遍历数组for loop

$.each(data.actors, function(i, val) {
   console.log('Actor name :: ' + val.name)
});
于 2013-06-21T05:58:58.680 回答