Я пытался сериализовать KeyValue «Массив», чтобы отправить его через PUT через http на мой asp. net веб-сервер.
Функция в Angular выглядит так:
SortAboutUs(data : KeyValue<number,number>[]) {
this.dataTransmitter.Put(this.apiUrl+'/api/aboutus/sort', data);
}
, и если я отлажу следующий контейнер данных, он будет выглядеть так:
![Datacontainer](https://i.stack.imgur.com/9407D.png)
У меня в моем. net основной контроллер веб-сервера
[HttpPut("[action]")]
public ActionResult<bool> Sort(IList<KeyValuePair<int, int>> dto)
{
return Ok(_aboutUsService.Sort(dto));
}
Однако я получаю следующую ошибку при попытке отправить его через PUT:
The JSON value could not be converted to System.Collections.Generic.List`1[System.Collections.Generic.KeyValuePair`2[System.Int32,System.Int32]]. Path: $[0] | LineNumber: 0 | BytePositionInLine: 8.
Странно то, что я уже использовал ту же технику в другом старая версия ядра. net и там вроде все работает.
Я также заметил, что начиная с. net core 3.1 KeyValue в C# изменилось на KeyValuePair, но в более старых версиях. net core это было KeyValue.
Должно ли это быть сделать что-нибудь с моей связанной ошибкой?
И как я могу сериализовать KeyValue из Angular, чтобы мой веб-сервер мог его прочитать?