PowerShell: множественные ответы тела от API - PullRequest
0 голосов
/ 18 марта 2020

Я использую метод GET для извлечения данных из StatusHub API.

Это пример ответа от API

{
        "id": 3570,
        "title": “[SevA] Test title”,
        "incident_updates": [
            {
                "id": 9329,
                "body": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud. Lorem ipsum dolor sit amet, consectetur.INC1085710<br/>",
                "id": 9328,
                "body": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud. INC1085710<br/>",

Как вы можете видеть, есть два разных ответа «body» в разделе «ident_updates », которые в конечном итоге попадают под один и тот же заголовок проблемы« title »:« [SevA] Test title ».

Как я могу вытащить только последний ответ «тела», а не все?

Я пытался сделать что-то вроде

$response.incident_updates.body[0]

, однако проблема в том, что он получает первый последний ответ тела, который идеально, однако мне нужен первый ответ на каждый инцидент, а не только один.

Есть идеи?

Спасибо

1 Ответ

0 голосов
/ 19 марта 2020

Прежде всего Json не должен иметь повторяющихся значений. Когда я просматриваю документацию StatusHub для инцидентов и identUpdates , он показывает четкое разделение каждого идентификатора инцидента в другом индексе массива.

секунда json вы публикуете усеченные свойства id и body при использовании ConvertFrom-JSON, поскольку PSCustomObject или Hashtable не допускают дублирование ключей.

, если вы продолжаете получать дублирующиеся свойства внутри одного объекта, Я бы посоветовал сообщить об этом в StatusHub и рассказать Cleary о точных шагах, которые привели к возникновению этой проблемы. Из-за того, что эта проблема не соответствует документации API StatusHub, я бы не советовал делать обходной путь, поскольку вы обходите ошибку в приложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...