想要从 JSON 结果中过滤出数组 - Azure API 管理。输出端政策

Want to filter Array out of JSON results - Azure API Management. Policy on the output side

我花了一些时间阅读但没有找到解决方案。 我想根据“enable_job_application_form”是否等于 1.

来过滤数组 (DATA) 的结果

这意味着我会将输出过滤为启用了工作申请表的工作。

我目前正在连接到 API 的服务器上执行此操作(for&if 语句),但我想在 api returns 结果之前进行过滤。

我还没有遇到完成此操作的解决方案,只有删除一行的解决方案。我还必须提到,我不具备任何 C# 技能,我以前学过一些 C++ 以及脚本和一些较旧的语言。

希望你能帮忙,我想这一定很简单。

这是当前结果的示例:

    {
    "data": [{
        "id": 286,
        "slug": "16414896142650005207alj",
        "name": "nameofjob286",
        "company_slug": "16344942941460006343JBm",
        "contact_slug": "23048656",
        "secondary_contact_slugs": null,
        "note_for_candidates": "",
        "number_of_openings": 1,
        "minimum_experience": 0,
        "maximum_experience": 3,
        "min_annual_salary": 0,
        "max_annual_salary": 0,
        "salary_type": {
            "id": 2,
            "label": "Annual Salary"
        },
        "job_status": {
            "id": 1,
            "label": "Open"
        },
        "job_status_comment": "",
        "city": "",
        "locality": "",
        "state": null,
        "country": "",
        "address": "",
        "created_on": "2022-01-06T17:20:14.000000Z",
        "created_by": 5207,
        "updated_on": "2022-01-31T11:55:03.000000Z",
        "updated_by": 5207,
        "owner": 5207,
        "enable_job_application_form": 0,
        "job_posting_status": 0,
        "job_code": "J86455032",
        "show_company_logo": 1,
        "specialization": "",
        "qualification_id": 0,
        "currency_id": 52,
        "job_description_text": "",
        "job_description_file": "",
        "job_questions": [],
        "collaborators": [],
        "custom_fields": [{
            "field_id": 1,
            "entity_type": "job",
            "field_name": "deadline",
            "field_type": "date",
            "value": "2022-01-22T00:00:00.000000Z"
        }, {
            "field_id": 2,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "text",
            "value": "Intellecta"
        }, {
            "field_id": 3,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "text",
            "value": "4348"
        }, {
            "field_id": 4,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "text",
            "value": null
        }, {
            "field_id": 5,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 6,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 7,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 8,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 9,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 10,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 11,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 12,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 13,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 14,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }],
        "resource_url": "https:\/\/private",
        "application_form_url": "https:\/\/private",
        "shared_job_image": "",
        }, {
        "id": 284,
        "slug": "16414883861930005207Mge",
        "name": "jobname284",
        "company_slug": "16344942941460006343JBm",
        "contact_slug": "23048656",
        "secondary_contact_slugs": null,
        "note_for_candidates": "",
        "number_of_openings": 1,
        "minimum_experience": 0,
        "maximum_experience": 3,
        "min_annual_salary": 0,
        "max_annual_salary": 0,
        "salary_type": {
            "id": 2,
            "label": "Annual Salary"
        },
        "job_status": {
            "id": 1,
            "label": "Open"
        },
        "job_status_comment": "",
        "city": "",
        "locality": "",
        "state": null,
        "country": "",
        "address": "",
        "created_on": "2022-01-06T16:59:46.000000Z",
        "created_by": 5207,
        "updated_on": "2022-01-31T11:55:03.000000Z",
        "updated_by": 5207,
        "owner": 5207,
        "enable_job_application_form": 0,
        "job_posting_status": 0,
        "job_code": "J76215748",
        "show_company_logo": 1,
        "specialization": "",
        "qualification_id": 0,
        "currency_id": 52,
        "job_description_text": "",
        "job_description_file": "",
        "job_questions": [],
        "collaborators": [],
        "custom_fields": [{
            "field_id": 1,
            "entity_type": "job",
            "field_name": "deadline",
            "field_type": "date",
            "value": "2022-01-22T00:00:00.000000Z"
        }, {
            "field_id": 2,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "text",
            "value": "Intellecta"
        }, {
            "field_id": 3,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "text",
            "value": "4348"
        }, {
            "field_id": 4,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "text",
            "value": null
        }, {
            "field_id": 5,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 6,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 7,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 8,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 9,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 10,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 11,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 12,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 13,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 14,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }],
        "resource_url": "https:\/\/private",
        "application_form_url": "https:\/\/private",
        "shared_job_image": "",
        }, {
        "id": 299,
        "slug": "16433788484340013965OkJ",
        "name": "jobname299",
        "company_slug": "16344942941460006343JBm",
        "contact_slug": "23048656",
        "secondary_contact_slugs": null,
        "note_for_candidates": "",
        "number_of_openings": 1,
        "minimum_experience": 0,
        "maximum_experience": 3,
        "min_annual_salary": 0,
        "max_annual_salary": 0,
        "salary_type": {
            "id": 2,
            "label": "Annual Salary"
        },
        "job_status": {
            "id": 1,
            "label": "Open"
        },
        "job_status_comment": "",
        "city": "",
        "locality": "",
        "state": "",
        "country": "",
        "address": "",
        "created_on": "2022-01-28T14:07:28.000000Z",
        "created_by": 13965,
        "updated_on": "2022-01-28T14:58:07.000000Z",
        "updated_by": 13965,
        "owner": 13965,
        "enable_job_application_form": 0,
        "job_posting_status": 0,
        "job_code": "",
        "show_company_logo": 0,
        "specialization": "",
        "qualification_id": 0,
        "currency_id": 52,
        "job_description_text": "",
        "job_description_file": "",
        "job_questions": [],
        "collaborators": [],
        "custom_fields": [{
            "field_id": 1,
            "entity_type": "job",
            "field_name": "deadline",
            "field_type": "date",
            "value": "2022-02-02T00:00:00.000000Z"
        }, {
            "field_id": 2,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "text",
            "value": null
        }, {
            "field_id": 3,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "text",
            "value": null
        }, {
            "field_id": 4,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "text",
            "value": null
        }, {
            "field_id": 5,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 6,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 7,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 8,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 9,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 10,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 11,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 12,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 13,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 14,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }],
        "resource_url": "https:\/\/private",
        "application_form_url": "https:\/\/private",
        "shared_job_image": "",
        }, {
        "id": 17,
        "slug": "23109811",
        "name": "jobname17",
        "company_slug": "13600728",
        "contact_slug": "23048656",
        "secondary_contact_slugs": null,
        "note_for_candidates": "",
        "number_of_openings": 1,
        "minimum_experience": 0,
        "maximum_experience": 3,
        "min_annual_salary": 0,
        "max_annual_salary": 0,
        "salary_type": {
            "id": 2,
            "label": "Annual Salary"
        },
        "job_status": {
            "id": 1,
            "label": "Open"
        },
        "job_status_comment": "[{\";
        "city": "",
        "locality": "",
        "state": "",
        "country": "",
        "address": "",
        "created_on": "2020-07-03T15:37:58.000000Z",
        "created_by": 6788,
        "updated_on": "2022-01-28T14:50:31.000000Z",
        "updated_by": 5207,
        "owner": 6755,
        "enable_job_application_form": 1,
        "job_posting_status": 0,
        "job_code": "J52254182",
        "show_company_logo": 0,
        "specialization": "",
        "qualification_id": 0,
        "currency_id": 52,
        "job_description_text": "<span style=\",
        "job_description_file": "",
        "job_questions": [],
        "collaborators": [],
        "custom_fields": [{
            "field_id": 1,
            "entity_type": "job",
            "field_name": "deadline",
            "field_type": "date",
            "value": "2033-09-01T00:00:00.000000Z"
        }, {
            "field_id": 2,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "text",
            "value": "privatevalue"
        }, {
            "field_id": 3,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "text",
            "value": "5390"
        }, {
            "field_id": 4,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "text",
            "value": null
        }, {
            "field_id": 5,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 6,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 7,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 8,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 9,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 10,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 11,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 12,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 13,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 14,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }],
        "resource_url": "https:\/\/filtered",
        "application_form_url": "https:\/\/filtered",
        "shared_job_image": "",
    }, {
        "id": 298,
        "slug": "16432996108500013965Rgj",
        "name": "Testjob298",
        "company_slug": "22994397",
        "contact_slug": "23014749",
        "secondary_contact_slugs": null,
        "note_for_candidates": "",
        "number_of_openings": 1,
        "minimum_experience": 0,
        "maximum_experience": 3,
        "min_annual_salary": 0,
        "max_annual_salary": 0,
        "salary_type": {
            "id": 2,
            "label": "Annual Salary"
        },
        "job_status": {
            "id": 1,
            "label": "Open"
        },
        "job_status_comment": "",
        "city": "",
        "locality": "",
        "state": "",
        "country": "",
        "address": "",
        "created_on": "2022-01-27T16:06:50.000000Z",
        "created_by": 13965,
        "updated_on": "2022-01-28T13:39:52.000000Z",
        "updated_by": 6755,
        "owner": 13965,
        "enable_job_application_form": 1,
        "job_posting_status": 0,
        "job_code": "J21310859",
        "show_company_logo": 1,
        "specialization": "",
        "qualification_id": 0,
        "currency_id": 52,
        "job_description_text": "<span style=...private HTML",
        "job_description_file": "",
        "job_questions": [],
        "collaborators": [],
        "custom_fields": [{
            "field_id": 1,
            "entity_type": "job",
            "field_name": "deadline",
            "field_type": "date",
            "value": "2022-02-15T00:00:00.000000Z"
        }, {
            "field_id": 2,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "text",
            "value": "private"
        }, {
            "field_id": 3,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "text",
            "value": "4699"
        }, {
            "field_id": 4,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "text",
            "value": null
        }, {
            "field_id": 5,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 6,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 7,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 8,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 9,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 10,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 11,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 12,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 13,
            "entity_type": "job",
            "field_name": "nameoffield",
            "field_type": "checkbox",
            "value": null
        }, {
            "field_id": 14,
            "entity_type": "job",
            "field_name": "nameoffield14",
            "field_type": "checkbox",
            "value": null
        }],
        "resource_url": "https:\/\/filteredouttheurl",
        "application_form_url": "https:\/\/filteredouttheurl",
        "shared_job_image": "https:\/\/filteredouttheurl.JPG"
    }],
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "path": "http:\/\/filteredendpointurl,
    "per_page": 100,
    "to": 70,
    "total": 70,
    "first_page_url": "http:\/\/filteredendpointurl?page=1",
    "next_page_url": null,
    "last_page_url": "http:\/\/filteredendpointurl?page=1",
    "prev_page_url": null
}

这是一个想要的结果的例子:请注意,由于 30000 的限制,我必须 trim 答案。

{
"data": [{
    "id": 17,
    "slug": "23109811",
    "name": "jobname17",
    "company_slug": "13600728",
    "contact_slug": "23048656",
    "secondary_contact_slugs": null,
    "note_for_candidates": "",
    "number_of_openings": 1,
    "minimum_experience": 0,
    "maximum_experience": 3,
    "min_annual_salary": 0,
    "max_annual_salary": 0,
    "salary_type": {
        "id": 2,
        "label": "Annual Salary"
    },
    "job_status": {
        "id": 1,
        "label": "Open"
    },
    "job_status_comment": "[{\";
    "city": "",
    "locality": "",
    "state": "",
    "country": "",
    "address": "",
    "created_on": "2020-07-03T15:37:58.000000Z",
    "created_by": 6788,
    "updated_on": "2022-01-28T14:50:31.000000Z",
    "updated_by": 5207,
    "owner": 6755,
    "enable_job_application_form": 1,
    "restremovedforexample":1
}, {
    "id": 298,
    "slug": "16432996108500013965Rgj",
    "name": "Testjob298",
    "company_slug": "22994397",
    "contact_slug": "23014749",
    "secondary_contact_slugs": null,
    "note_for_candidates": "",
    "number_of_openings": 1,
    "minimum_experience": 0,
    "maximum_experience": 3,
    "min_annual_salary": 0,
    "max_annual_salary": 0,
    "salary_type": {
        "id": 2,
        "label": "Annual Salary"
    },
    "job_status": {
        "id": 1,
        "label": "Open"
    },
    "job_status_comment": "",
    "city": "",
    "locality": "",
    "state": "",
    "country": "",
    "address": "",
    "created_on": "2022-01-27T16:06:50.000000Z",
    "created_by": 13965,
    "updated_on": "2022-01-28T13:39:52.000000Z",
    "updated_by": 6755,
    "owner": 13965,
    "enable_job_application_form": 1,
    "restremovedforexample":1
    }],
    "resource_url": "https:\/\/filteredouttheurl",
    "application_form_url": "https:\/\/filteredouttheurl",
    "shared_job_image": "https:\/\/filteredouttheurl.JPG"
}]

最直接的方法可能是:

<set-body>@{
    var json = context.Response.Body.As<JObject>();
    var data = json["data"];
    foreach(var item in data.ToArray())
    {
        if ((int)item["enable_job_application_form"] == 1)
        {
            item.Remove();
        }
    }
    return json.ToString();
}</set-body>