使用jQuery

时间:2017-01-24 15:31:31

标签: javascript jquery json

如何从休息服务调用中解析复杂json响应中特定数据点的所有值?

这是我的JQUERY代码,用于获取其余服务json响应。我希望得到所有出现的" Id"适用于所有"审批人"在json数据中找到的元素并将它们添加到分隔列表中 - 最好使用

  

将每个" Id"

分开
    <!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script><script>
    $(document).ready(function(){
        $("button").click(function(){

    $.ajax({ 
        type: 'GET', 
        url: 'MySite/Change/Request/12345/Approvals/GetApprovalGroupUsers?changeNumber=98765', 

        data: { get_param: 'value' }, 
        dataType: 'json',
        success: function (data) { 

            $.each(data, function(index, element) {
                $('body').append($('<div>', {
                    text: element.Id
                }));
            });
        }
    });

        });
    });
    </script>
</head>
<body>
<button>Click me to get listing of Id's</button>
</body>
</html>

来自服务的json数据:

{
    "ApprovalSession": "3ebd4e73-7fc5-4113-9ccd-18833318ee09",
    "LoadStatus": 0,
    "Index": 0,
    "ApprovalId": 0,
    "Type": null,
    "Approver": null,
    "ApproverDisplay": null,
    "Status": null,
    "CreatedBy": null,
    "CanBeRemoved": false,
    "ConfigurationItems": [
        "cigs01e4a002( OPERATING SYSTEM )",
        "cigs01e4a002( OPERATING SYSTEM )",
        "cigs01e4a004( OPERATING SYSTEM )",
        "cigs01e4a004( OPERATING SYSTEM )"
    ],
    "ApprovalReasons": [
        {
            "AssociatedCI": "abc4a002( OPERATING SYSTEM )",
            "AssociatedRuleName": "Default Impact",
            "AssociatedRuleApprovalType": null,
            "AssociatedRulePartyType": "Targeted Group",
            "AssociatedRulePartyName": "Operational Owner",
            "AssociatedAdditionalComment": ""
        },
        {
            "AssociatedCI": "xyza004( OPERATING SYSTEM )",
            "AssociatedRuleName": "Default Impact ",
            "AssociatedRuleApprovalType": null,
            "AssociatedRulePartyType": "Targeted Group",
            "AssociatedRulePartyName": "Technical Owner",
            "AssociatedAdditionalComment": "Substitute Role"
        }
    ],
    "PossibleApprovers": [
        {
            "Approver": {
                "Id": "Vzz436",
                "Display": "some name",
                "LineOfBusinessCode": "25",
                "LineOfBusinessName": "Unix",
                "LineOfBusinessHierarchy": null,
                "PhoneNumber": "+123456789",
                "RoleName": null,
                "FullName": null,
                "LineOfBusiness": null,
                "ErrorMessage": null
            },
            "IsEscalation": false,
            "IsDelegate": false
        },
        {
            "Approver": {
                "Id": "ppp71",
                "Display": "more names",
                "LineOfBusinessCode": "5",
                "LineOfBusinessName": "Tech",
                "LineOfBusinessHierarchy": null,
                "PhoneNumber": "+987654321",
                "RoleName": null,
                "FullName": null,
                "LineOfBusiness": null,
                "ErrorMessage": null
            },
            "IsEscalation": false,
            "IsDelegate": false
        },
        {
            "Approver": {
                "Id": "aaa5",
                "Display": "mickey mouse",
                "LineOfBusinessCode": "8",
                "LineOfBusinessName": "Digital",
                "LineOfBusinessHierarchy": null,
                "PhoneNumber": "+87877676665",
                "RoleName": null,
                "FullName": null,
                "LineOfBusiness": null,
                "ErrorMessage": null
            },
            "IsEscalation": false,
            "IsDelegate": false
        }
    ],
    "OriginalApprovals": [ ],
    "AggregatedApproval": null,
    "IsAggregated": false,
    "AggregationId": 0,
    "UpdatedBy": null,
    "UpdatedDt": null,
    "IsGroupActive": false

}

1 个答案:

答案 0 :(得分:1)

这就是你如何获得批准者的所有ID,用分号分隔。

<!-- Textfield with Floating Label -->

<form action="#">
  <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
    <input class="mdl-textfield__input" type="text" id="sample3">
    <label class="mdl-textfield__label" for="sample3">Text...</label>
  </div>
</form>