Как я могу преобразовать массив в JSON в тип данных, который может обрабатывать мой контроллер - PullRequest
0 голосов
/ 17 марта 2020

У меня есть API, который использует. NET Core 3.1 Entity Framework.

Я получаю данные из события POST на стороне клиента, которое содержит JSON с массивом, который выглядит следующим образом:

  "SpaceTrainees": [
    "Pilot",
    "Commander",
    "Grunt"
  ] 

Мой контроллер, обрабатывающий событие post, выдает ошибку, когда попадает в этот массив:

Я получаю эту ошибку:

 "$.SpaceTrainees[0]": [
            "The JSON value could not be converted to System.Collections.Generic.List`1[System.Int64]. Path: $.SpaceTrainees[0] | LineNumber: 2 | BytePositionInLine: 21."

Блок кода в мой контроллер, который выдает ошибку:

[HttpPost]
public async Task<ActionResult> ProcessRecruit([FromBody] CreateCadet data)     
{
...

    foreach (var traineeId in data.SpaceTrainees)
    { ... }

    Return Ok();
}

-> где data.SpaceTrainees из списка

Модель для CreateCadet содержит свойство:

public List<long> SpaceTrainees {get; set; }

Is Есть ли способ сделать эту работу?

Спасибо!

1 Ответ

1 голос
/ 17 марта 2020

long - это число, SpaceTrainees - это string[]

public List<string> SpaceTrainees {get; set; }

будет работать

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