繁体   English   中英

使用 jQuery 查找所有出现的 JSON 元素

[英]Find all occurrences of JSON element using jQuery

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

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

;

分隔每个“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

}

这是您获取所有审批者 ID(以分号分隔)的方式。

 var data = { "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 } data.PossibleApprovers.forEach(function (approver) { document.write(approver.Approver.Id + ';')})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM