У меня есть студенческий класс с массивом StudentPhones.Когда я удаляю свойство StudentPhones из класса Student, он отлично работает при публикации в Postman.Но когда добавляется свойство StudentPhones, то Postman выдает мне эту ошибку:
{"StudentPhones": ["Невозможно десериализовать текущий массив JSON (например, [1,2,3]) в тип 'DataAccess.StudentPhone', потому чтоДля корректной десериализации типу требуется объект JSON (например, {\ "name \": \ "value \"}). \ r \ nЧтобы исправить эту ошибку, либо измените объект JSON на объект JSON (например, {\ "name \": \"value \"}) или измените десериализованный тип на массив или тип, который реализует интерфейс коллекции (например, ICollection, IList), например List, который можно десериализовать из массива JSON. JsonArrayAttribute также можно добавить к типу, чтобы принудительно вызвать егодесериализовать из массива JSON. \ r \ nPath 'StudentPhones', строка 4, позиция 23. "]}
public class Student
{
public string StudentName { get; set; }
public string StudentSurname { get; set; }
public StudentPhone StudentPhones { get; set; }
}
public class StudentPhone
{
public int PhoneType{ get; set; }
public string PhoneNumber { get; set; }
}
public async Task<ServiceResult> SaveStudent([FromBody]Student student)
{
}
Как мне опубликовать этот json?(Я использую Angular 6 на самом деле, почтальон только для примера.)
мой JSON
{
"studentName": "test",
"studentSurname": "test",
"studentPhones": [
{
"phoneType": 1,
"phoneNumber ": "111111111"
},
{
"phoneType": 2,
"phoneNumber ": "2222222222"
}
],
}